fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int binary_search(int a[],int n,int x){
  5. int i=0,j=n-1;
  6. while (i<=j){
  7. int m=(i+j)/2;
  8. if (a[m]==x)return m;
  9. if (a[m]<x) i=m+1;
  10. else j=m-1;
  11. }
  12. return -1;
  13. }
  14.  
  15. int main(){
  16. int n,x,*a;
  17. scanf("%d %d",&n,&x);
  18. a=malloc(sizeof(int)*n);
  19. for (int i=0;i<n;i++) scanf("%d",&a[i]);
  20.  
  21. int ans=binary_search(a, n, x);
  22. if (ans !=-1) printf("a[%d]=%d\n",ans,a[ans]);
  23. else printf("not found\n");
  24.  
  25. free(a);
  26. return 0;
  27. }
Success #stdin #stdout 0.01s 5288KB
stdin
12 5
1 2 3 4 5 8 9 13 16 21 25 27
stdout
a[4]=5