右区间第一个
while(l<r) { int mid = l + r >> 1; if(check(mid)) r = mid ; else l = mid + 1; }
左区间最后一个
while(l<r) { int mid = l + r + 1 >> 1; if(check(mid) l = mid; //左区间都是满足的 else r = mid - 1; }