#include <stdio.h>
#include<stdlib.h>
int binary_search(int a[],int n,int x){//no_search関数の挿入
int left=0;
int right=n-1;
while(left<=right){
int mid=(left+right)/2;
if(a[mid]==x){//midがx自身だったら
return mid;//midを返して終わり(見つかった)
}else if(a[mid]<x){//midよりもxの方が大きいとき
left=mid+1;//midよりも小さい側の値を捨てmidより1大きい値から範囲に入れる
}else{//midよりもxの方が小さいとき
right=mid-1;//midよりも大きい側の値を捨てmidより1小さい値から範囲に入れる
}
}
return -1;//ここまで来たということは「見つからなかった」ということなので-1を返す
}
int main(void) {
// your code goes here
int n,x,i;
int *a;
int ans=-1;
scanf("%d%d",&n
,&x
);//n,xに入力させる
a
=(int*)malloc(sizeof(int)*n
);//aの動的確保をする if(a==NULL){//エラー処理
return -1;//エラーだとしても-1を返す
}
for(i=0;i<n;i++){
scanf("%d",&a
[i
]);//動的確保したaの配列に入力させる }
ans=binary_search(a,n,x);
if(ans!=-1){
printf("a[%d]=%d\n",ans
,a
[ans
]); }else{
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlPHN0ZGxpYi5oPgoKaW50IGJpbmFyeV9zZWFyY2goaW50IGFbXSxpbnQgbixpbnQgeCl7Ly9ub19zZWFyY2jplqLmlbDjga7mjL/lhaUKCWludCBsZWZ0PTA7CglpbnQgcmlnaHQ9bi0xOwoJd2hpbGUobGVmdDw9cmlnaHQpewoJCWludCBtaWQ9KGxlZnQrcmlnaHQpLzI7CgkJaWYoYVttaWRdPT14KXsvL21pZOOBjHjoh6rouqvjgaDjgaPjgZ/jgokKCQkJcmV0dXJuIG1pZDsvL21pZOOCkui/lOOBl+OBpue1guOCj+OCiu+8iOimi+OBpOOBi+OBo+OBn++8iQoJCX1lbHNlIGlmKGFbbWlkXTx4KXsvL21pZOOCiOOCiuOCgnjjga7mlrnjgYzlpKfjgY3jgYTjgajjgY0KCQkJbGVmdD1taWQrMTsvL21pZOOCiOOCiuOCguWwj+OBleOBhOWBtOOBruWApOOCkuaNqOOBpm1pZOOCiOOCijHlpKfjgY3jgYTlgKTjgYvjgonnr4Tlm7LjgavlhaXjgozjgosKCQl9ZWxzZXsvL21pZOOCiOOCiuOCgnjjga7mlrnjgYzlsI/jgZXjgYTjgajjgY0KCQkJcmlnaHQ9bWlkLTE7Ly9taWTjgojjgorjgoLlpKfjgY3jgYTlgbTjga7lgKTjgpLmjajjgaZtaWTjgojjgoox5bCP44GV44GE5YCk44GL44KJ56+E5Zuy44Gr5YWl44KM44KLCgkJfQoJfQoJcmV0dXJuIC0xOy8v44GT44GT44G+44Gn5p2l44Gf44Go44GE44GG44GT44Go44Gv44CM6KaL44Gk44GL44KJ44Gq44GL44Gj44Gf44CN44Go44GE44GG44GT44Go44Gq44Gu44GnLTHjgpLov5TjgZkKfQoKaW50IG1haW4odm9pZCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJaW50IG4seCxpOwoJaW50ICphOwoJaW50IGFucz0tMTsKCXNjYW5mKCIlZCVkIiwmbiwmeCk7Ly9uLHjjgavlhaXlipvjgZXjgZvjgosKCQoJYT0oaW50KiltYWxsb2Moc2l6ZW9mKGludCkqbik7Ly9h44Gu5YuV55qE56K65L+d44KS44GZ44KLCglpZihhPT1OVUxMKXsvL+OCqOODqeODvOWHpueQhgoJCXByaW50ZigiRVJST1IiKTsKCQlyZXR1cm4gLTE7Ly/jgqjjg6njg7zjgaDjgajjgZfjgabjgoItMeOCkui/lOOBmQoJfQoJZm9yKGk9MDtpPG47aSsrKXsKCQlzY2FuZigiJWQiLCZhW2ldKTsvL+WLleeahOeiuuS/neOBl+OBn2Hjga7phY3liJfjgavlhaXlipvjgZXjgZvjgosKCX0KCWFucz1iaW5hcnlfc2VhcmNoKGEsbix4KTsKCWlmKGFucyE9LTEpewoJCXByaW50ZigiYVslZF09JWRcbiIsYW5zLGFbYW5zXSk7Cgl9ZWxzZXsKCQlwcmludGYoIm5vdCBmb3VuZFxuIik7Cgl9CglmcmVlKGEpOwoJcmV0dXJuIDA7Cn0K