1.用unsigned long long,除非去优化check函数
2.边界定义为
ull l = 0, r = 1000000000000000000LL;
3.如果你用了ull,而且二分是这么写的
while (l <= r) { ll mid = (l + r) / 2; if (check(mid)) { r = mid - 1; ans = mid; } else { l = mid + 1; } }
注意ull是没有负数的,所以check(0)==1时会出现错误