/*
* n是数组的长度,k是要查找的值
*/
int n, k;
int q[100000];
int bsearch_1(int x) //返回第一个大于等于K的元素的下标
{
int l = 0, r = n - 1;
while (l < r)
{
int mid = l + r >> 1;
if (q[mid] >= x)
r = mid;
else
l = mid + 1;
}
return l;
}
int bsearch_2(int x) //返回最后一个小于K的元素的下标
{
int l = 0, r = n - 1;
while (l < r)
{
int mid = l + r + 1 >> 1;
if (q[mid] <= x)
l = mid;
else
r = mid - 1;
}
return l;
}