fork download
  1. #include <stdio.h>
  2.  
  3. int binary_search(int a[], int n, int x) {
  4. int left = 0;
  5. int right = n - 1;
  6.  
  7. while (left <= right) {
  8. int mid = (left + right) / 2;
  9.  
  10. if (a[mid] == x) {
  11. return mid;
  12. } else if (a[mid] < x) {
  13. left = mid + 1;
  14. } else {
  15. right = mid - 1;
  16. }
  17. }
  18. return -1;
  19. }
  20.  
  21. int main(void) {
  22. int n, x;
  23. int a[100000];
  24.  
  25. scanf("%d %d", &n, &x);
  26. for (int i = 0; i < n; i++) {
  27. scanf("%d", &a[i]);
  28. }
  29.  
  30. int ans = binary_search(a, n, x);
  31.  
  32. if (ans != -1) {
  33. printf("a[%d] = %d\n", ans, x);
  34. } else {
  35. printf("not found\n");
  36. }
  37.  
  38. return 0;
  39. }
Success #stdin #stdout 0.01s 5320KB
stdin
Standard input is empty
stdout
not found