//第3回 課題1
#include <stdio.h>
#include <stdlib.h>
//この関数を実装する
int binary_search(int a[],int n,int x){
int left=0;
int right=n-1;
int c=(left+right)/2;
while(left<=right){
if(a[c]==x){
return c;
}
else if(a[c]<=x){
right =c-1;
}
else if(a[c]>=x){
left =c+1;
}
break;
}
}
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;
}
Ly/nrKwz5ZueIOiqsumhjO+8kQojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgoKLy/jgZPjga7plqLmlbDjgpLlrp/oo4XjgZnjgosKaW50IGJpbmFyeV9zZWFyY2goaW50IGFbXSxpbnQgbixpbnQgeCl7CglpbnQgbGVmdD0wOwoJaW50IHJpZ2h0PW4tMTsKCWludCBjPShsZWZ0K3JpZ2h0KS8yOwoJd2hpbGUobGVmdDw9cmlnaHQpewoJCWlmKGFbY109PXgpewoJCQlyZXR1cm4gYzsKCQl9CgkJZWxzZSBpZihhW2NdPD14KXsKCQkJcmlnaHQgPWMtMTsKCQl9CgkJZWxzZSBpZihhW2NdPj14KXsKCQkJbGVmdCA9YysxOwoJCX0KCQlicmVhazsKCX0KfQoKaW50IG1haW4odm9pZCkgewoJaW50IG4seCxpOwoJaW50ICphOwoJaW50IGFucyA9IC0xOwoJc2NhbmYoIiVkICVkIiwmbiwmeCk7CglhID0gKGludCopbWFsbG9jKHNpemVvZihpbnQpKm4pOwoJaWYoYT09TlVMTCl7CgkJcHJpbnRmKCJFUlJPUlxuIik7CgkJcmV0dXJuIC0xOwoJfQoJZm9yKGk9MDtpPG47aSsrKXsKCQlzY2FuZigiJWQiLCZhW2ldKTsKCX0KCWFucyA9IGJpbmFyeV9zZWFyY2goYSxuLHgpOwoJaWYoYW5zICE9IC0xKSBwcmludGYoImFbJWRdID0gJWRcbiIsYW5zLGFbYW5zXSk7CgllbHNlIHByaW50Zigibm90IGZvdW5kXG4iKTsKCWZyZWUoYSk7CglyZXR1cm4gMDsKfQo=