int l = 0, r = n - 1; while (l < r) { int mid = l + r >> 1; if (q[mid] >= x) r = mid; else l = mid + 1; }
//l==r;
//stl:
l = lower_bound(q,q+n,x)-a;
下标从0开始,求大于x的第一个数的下标。
int l = 0, r = n - 1; while (l < r) { int mid = l + r >> 1; if (q[mid] >= x) r = mid; else l = mid + 1; }
//l==r;
//stl:
l = lower_bound(q,q+n,x)-a;
下标从0开始,求大于x的第一个数的下标。