#include <stdio.h>
int BinarySearch(int arr[], int len, int target) {
int startI = 0, endI = len-1;
while(startI<=endI)
{
int mid= (startI+endI)/2;
if(arr[mid] == target)
return mid;
if(arr[mid] < target)
{
startI = mid +1;
}
else
{
endI = mid -1;
}
}
return -1;
}
int main()
{
int arr[6]={1,2,3,4,5,6};
int len=sizeof(arr)/sizeof(arr[0]);
int target = 5;
printf("%d", BinarySearch
(arr
,len
,target
)); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgQmluYXJ5U2VhcmNoKGludCBhcnJbXSwgaW50IGxlbiwgaW50IHRhcmdldCkgewoJaW50IHN0YXJ0SSA9IDAsIGVuZEkgPSBsZW4tMTsKCQoJd2hpbGUoc3RhcnRJPD1lbmRJKQoJewoJCWludCBtaWQ9IChzdGFydEkrZW5kSSkvMjsKCQlpZihhcnJbbWlkXSA9PSB0YXJnZXQpCgkJCXJldHVybiBtaWQ7CgkJaWYoYXJyW21pZF0gPCB0YXJnZXQpCgkJewoJCQlzdGFydEkgPSBtaWQgKzE7CQkKCQl9CgkJZWxzZQoJCXsKCQkJZW5kSSA9IG1pZCAtMTsKCQl9Cgl9CglyZXR1cm4gLTE7Cn0KIAppbnQgbWFpbigpCnsKICAgIGludCBhcnJbNl09ezEsMiwzLDQsNSw2fTsKICAgIGludCBsZW49c2l6ZW9mKGFycikvc2l6ZW9mKGFyclswXSk7CiAgICBpbnQgdGFyZ2V0ID0gNTsKICAgIHByaW50ZigiJWQiLCBCaW5hcnlTZWFyY2goYXJyLGxlbix0YXJnZXQpKTsKICAgIHJldHVybiAwOwp9