#include <stdio.h>
#include <stdlib.h>
int binary_search(int a[],int n,int x){
int left = 0;
int right = n - 1;
int center;
while(left <= right){
center = (left + right) / 2;
if(a[center] == x){
return center;
}
else if(a[center] < x){
left = center + 1;
}
else{
right = center - 1;
}
}
return -1;
}
int main(void) {
int n,x,i;
int *a;
int ans = -1;
a
= (int*)malloc(sizeof(int)*n
);
if(a==NULL){
return -1;
}
for(i=0;i<n;i++){
}
ans = binary_search(a,n,x);
if(ans != -1){
printf("a[%d] = %d\n",ans
,a
[ans
]); }
else{
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmludCBiaW5hcnlfc2VhcmNoKGludCBhW10saW50IG4saW50IHgpewoJaW50IGxlZnQgPSAwOwoJaW50IHJpZ2h0ID0gbiAtIDE7CglpbnQgY2VudGVyOwoJCgl3aGlsZShsZWZ0IDw9IHJpZ2h0KXsKCQljZW50ZXIgPSAobGVmdCArIHJpZ2h0KSAvIDI7CgkJCgkJaWYoYVtjZW50ZXJdID09IHgpewoJCQlyZXR1cm4gY2VudGVyOwoJCX0KCQllbHNlIGlmKGFbY2VudGVyXSA8IHgpewoJCQlsZWZ0ID0gY2VudGVyICsgMTsKCQl9CgkJZWxzZXsKCQkJcmlnaHQgPSBjZW50ZXIgLSAxOwoJCX0KCX0KCQoJcmV0dXJuIC0xOwp9CgppbnQgbWFpbih2b2lkKSB7CglpbnQgbix4LGk7CglpbnQgKmE7CglpbnQgYW5zID0gLTE7CgoJc2NhbmYoIiVkICVkIiwmbiwmeCk7CgoJYSA9IChpbnQqKW1hbGxvYyhzaXplb2YoaW50KSpuKTsKCglpZihhPT1OVUxMKXsKCQlwcmludGYoIkVSUk9SXG4iKTsKCQlyZXR1cm4gLTE7Cgl9CgoJZm9yKGk9MDtpPG47aSsrKXsKCQlzY2FuZigiJWQiLCZhW2ldKTsKCX0KCglhbnMgPSBiaW5hcnlfc2VhcmNoKGEsbix4KTsKCglpZihhbnMgIT0gLTEpewoJCXByaW50ZigiYVslZF0gPSAlZFxuIixhbnMsYVthbnNdKTsKCX0KCWVsc2V7CgkJcHJpbnRmKCJub3QgZm91bmRcbiIpOwoJfQoKCWZyZWUoYSk7CgoJcmV0dXJuIDA7Cn0=