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