二分法需要最后特判下, 实际情况下有可能无解, 调用方需要继续再判断下: if check(bsearch_1(l, r))
int bsearch_1(int l, int r) { while (l < r) { int mid = l + r >> 1; if (check(mid)) r = mid; else l = mid + 1; } return l; }