#include<stdio.h>
#include<stdlib.h>
int binary(int a[], int n, int x)
{
int lef = 0, rig = n - 1;
while(lef <= rig)
{
int mid=(lef + rig)/2;
if(a[mid] == x)
{
return mid;
}
else if(a[mid] > x)
{
rig=mid-1;
}
else
{
lef=mid+1;
}
}
return -1; // 見つからなi
}
int main(void)
{
int x,n,ans;
int *a;
a
=(int*)malloc(sizeof(int)*n
);
for(int i=0;i<n;i++)
{
}
ans=binary(a,n,x);
if (ans == -1)
else
printf("a[%d] = %d\n", ans
, a
[ans
]);
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+CgppbnQgYmluYXJ5KGludCBhW10sIGludCBuLCBpbnQgeCkKewogICAgaW50IGxlZiA9IDAsIHJpZyA9IG4gLSAxOwoKICAgIHdoaWxlKGxlZiA8PSByaWcpCiAgICB7CiAgICAgICAgaW50IG1pZD0obGVmICsgcmlnKS8yOwoKICAgICAgICBpZihhW21pZF0gPT0geCkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBtaWQ7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYoYVttaWRdID4geCkKICAgICAgICB7CiAgICAgICAgICAgIHJpZz1taWQtMTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgbGVmPW1pZCsxOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAtMTsgIC8vIOimi+OBpOOBi+OCieOBqmkKfQppbnQgbWFpbih2b2lkKQp7CiAgICBpbnQgeCxuLGFuczsKICAgIHByaW50Zigi5YCL5pWw44Go44CB5pWw5a2X44KS5YWl5YqbIik7CiAgICBzY2FuZigiJWQgJWQiLCZuLCZ4KTsKICAgIGludCAqYTsKICAgIGE9KGludCopbWFsbG9jKHNpemVvZihpbnQpKm4pOwogICAgCiAgICBwcmludGYoIlxu5pWw5YiX44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEXG4iKTsKICAgIGZvcihpbnQgaT0wO2k8bjtpKyspCiAgICB7CiAgICAgICAgc2NhbmYoIiVkIiwmYVtpXSk7CiAgICB9CiAgICBhbnM9YmluYXJ5KGEsbix4KTsKICAgIGlmIChhbnMgPT0gLTEpCiAgICAgICAgcHJpbnRmKCLopovjgaTjgYvjgorjgb7jgZvjgpPjgafjgZfjgZ9cbiIpOwogICAgZWxzZQogICAgICAgIHByaW50ZigiYVslZF0gPSAlZFxuIiwgYW5zLCBhW2Fuc10pOwoKICAgIGZyZWUoYSk7CiAgICByZXR1cm4gMDsKfQo=