这道题函数应该是一个上凸的右半部分。
我认为应该二分用斜率为 −∞→0-\infty \rightarrow 0−∞→0的线去切,所以感觉在 solvesolvesolve 函数中应该是减去这个偏移量,最后加回来,不太理解加偏移量减回去 和减偏移量加回去的区别。二分判断也感觉是 cnt<mcnt < mcnt<m 的时候斜率应该减小去切更右面的点。
以上写法会死循环,取反后正常跑出来,是为什么呢?