fork download
  1. #include <stdio.h>
  2.  
  3. // 二分探索関数
  4. int binary_search(int a[], int n, int x){
  5. int left = 0;
  6. int right = n - 1;
  7. int mid;
  8. while(left <= right){mid = (left + right) / 2;
  9. if(a[mid] == x){return mid;}
  10. else if(a[mid] < x){left = mid + 1;}
  11. else{right = mid - 1;}}
  12. return -1;}
  13. int main(){
  14. int a[100];
  15. int n, x, i;
  16. int ans;
  17. scanf("%d %d", &n, &x);
  18. for(i = 0; i < n; i++){scanf("%d", &a[i]);}
  19. ans= binary_search(a, n, x);
  20. if(ans != -1) printf("a[%d] = %d\n", ans, a[ans]);
  21. else printf("not found\n");
  22. return 0;}
Success #stdin #stdout 0s 5320KB
stdin
5 50
10 20 30 40 50


stdout
a[4] = 50