rt
il LL calc(int p, int t){
return dp[p - 1] + 1ll * base[p] * t * t ;
}
il int chk(int x, int y){
rg int ret = N + 1 ;
rg int l = 1, r = N, mid ;
while (l <= r){
mid = (l + r) >> 1 ;
if (calc(x, mid - s[x] + 1) >= calc(y, mid - s[y] + 1))
ret = mid, r = mid - 1 ; else l = mid + 1 ;
}
return ret ;
}
这是第一篇题解中的二分,初始左边界设为1,但是若设为一,会出现最终计算出的答案小于sum[y]的情况(比如calc中传入的t值是个负数),那么此时不会有什么问题吗
,下面主函数中比较返回值不会出锅吗)
我自己将左边界设为sum[y]试了一下,是过了的,然后设为1也过了,球球帮忙