int search(
int a[],
int from,
int to,
int key)
{
if(to<from)
return -1;
int middle = (from+to)/2;
cnt++;
if(a[middle]==key)
return middle;
if(a[middle]>key)
return search(a,from,middle-1,key);
else
return search(a,middle+1,to,key);
}
int search(
int a[],
int n,
int key)
{
if(n<1)
return -1;
static cnt=0;
int middle = n/2;
if(a[middle]==key)
return middle+cnt;
if(a[middle]>key)
return search(a,middle,key);
else
{cnt+=middle+1;
return search(a+middle+1,n-middle-1,key);
}
}