#include <stdio.h>
#include <stdlib.h>
int binary_search(int a[],int n,int x){
int left = 0;
int right = n - 1;
while(left <= right){
int mid = (left + right) / 2;
if(a[mid] == x){
return mid;
}else if(a[mid] < x){
left = mid + 1;
}else{
right = mid - 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
]);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmludCBiaW5hcnlfc2VhcmNoKGludCBhW10saW50IG4saW50IHgpewogICAgaW50IGxlZnQgPSAwOwogICAgaW50IHJpZ2h0ID0gbiAtIDE7CgogICAgd2hpbGUobGVmdCA8PSByaWdodCl7CiAgICAgICAgaW50IG1pZCA9IChsZWZ0ICsgcmlnaHQpIC8gMjsKCiAgICAgICAgaWYoYVttaWRdID09IHgpewogICAgICAgICAgICByZXR1cm4gbWlkOyAKICAgICAgICB9ZWxzZSBpZihhW21pZF0gPCB4KXsKICAgICAgICAgICAgbGVmdCA9IG1pZCArIDE7CiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgIHJpZ2h0ID0gbWlkIC0gMTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gLTE7Cn0KCmludCBtYWluKHZvaWQpIHsKICAgIGludCBuLHgsaTsKICAgIGludCAqYTsKICAgIGludCBhbnMgPSAtMTsKCiAgICBzY2FuZigiJWQgJWQiLCZuLCZ4KTsKICAgIGEgPSAoaW50KiltYWxsb2Moc2l6ZW9mKGludCkqbik7CiAgICBpZihhPT1OVUxMKXsKICAgICAgICBwcmludGYoIkVSUk9SXG4iKTsKICAgICAgICByZXR1cm4gLTE7CiAgICB9CgogICAgZm9yKGk9MDtpPG47aSsrKXsKICAgICAgICBzY2FuZigiJWQiLCZhW2ldKTsKICAgIH0KCiAgICBhbnMgPSBiaW5hcnlfc2VhcmNoKGEsbix4KTsKCiAgICBpZihhbnMgIT0gLTEpIHByaW50ZigiYVslZF0gPSAlZFxuIixhbnMsYVthbnNdKTsKICAgIGVsc2UgcHJpbnRmKCJub3QgZm91bmRcbiIpOwoKICAgIGZyZWUoYSk7CiAgICByZXR1cm4gMDsKfQo=