int binsearch(const int x, int v[], const int len)
{
int lower = 0;
int upper = len - 1;
int mid;
while (lower < upper)
{
mid = (lower + upper) / 2;
if (v[mid] == x)
{
return mid;
}
upper = x < v[mid] ? mid - 1 : upper;
lower = x < v[mid] ? lower : mid + 1;
}
return -1;
}