#include <stdio.h>
int bin(int *arr,int l,int h,int k)
{
int mid;
if(l>h)
return -1;
if(l==h)
{
return arr[l]==k?l:-1;
}
else
{
mid=(l+h)>>1;
if(arr[mid]==k)
return mid;
else if(k>arr[mid])
bin(arr,mid+1,h,k);
else
return bin(arr,l,mid-1,k);
}
}
int main()
{
int arr[]={1,3,5,6,9},i,size;
size=sizeof(arr)/sizeof(arr[0]);
printf("%d ",bin
(arr
,0,size
-1,6)); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgYmluKGludCAqYXJyLGludCBsLGludCBoLGludCBrKQp7CglpbnQgbWlkOwoJaWYobD5oKQoJCXJldHVybiAtMTsKCWlmKGw9PWgpCgl7CgkJcmV0dXJuIGFycltsXT09az9sOi0xOwoJfQoJZWxzZQoJewoJCW1pZD0obCtoKT4+MTsKCQlpZihhcnJbbWlkXT09aykKCQkJcmV0dXJuIG1pZDsKCQllbHNlIGlmKGs+YXJyW21pZF0pCgkJCWJpbihhcnIsbWlkKzEsaCxrKTsKCQllbHNlCgkJCXJldHVybiBiaW4oYXJyLGwsbWlkLTEsayk7Cgl9Cn0KCmludCBtYWluKCkKewoJaW50IGFycltdPXsxLDMsNSw2LDl9LGksc2l6ZTsKCXNpemU9c2l6ZW9mKGFycikvc2l6ZW9mKGFyclswXSk7CgkJcHJpbnRmKCIlZCAiLGJpbihhcnIsMCxzaXplLTEsNikpOwoJcmV0dXJuIDA7Cn0=