fork download
#include <stdio.h>
#include <stdlib.h>
 
//この関数を実装する
int binary_search(int a[],int n,int x){

int lef, rig, mid;
lef=0;
rig=n-1;
int ret=-1;

while(lef<=rig){
mid=(lef+rig)/2;
if(a[mid]==x){
ret=mid;
 break;
}
if(x<a[mid])
rig = mid-1;
else lef = mid+1;
}
 return ret;
}


	//この関数の内側だけを書く

 
int main(void) {
	int n,x,i;
	int *a;
	int ans = -1;
	scanf("%d %d",&n,&x);
	a = (int*)malloc(sizeof(int)*n);
	if(a==NULL){
		printf("ERROR\n");
		return -1;
	}
	for(i=0;i<n;i++){
		scanf("%d",&a[i]);
	}
	ans = binary_search(a,n,x);
	if(ans != -1) printf("a[%d] = %d\n",ans,a[ans]);
	else printf("not found\n");
	free(a);
	return 0;
}
 
Success #stdin #stdout 0s 5300KB
stdin
10 7
1 2 3 4 5 6 7 8 9 10
stdout
a[6] = 7