如果你只WA#17#19,大概率是没开long long造成的。其实考虑一下极端情况,确实是可能超过1e9的。
当然,不能光开long long就完事了,更绝对不能 define int long long,否则你将收到来自long long运算超大常数的降维打击,导致你至少TLE#17。这里讲一下我的卡常做法:
首先,块长改成1145(没错,回滚莫队的块长就是这么玄学),然后,只给存答案的变量和数组开long long,并且在修改答案的时候,先开一个 int delta,所有对答案的修改都改到这个 delta 上,最后在把 delta 加到答案上,减少了long long级别的运算(来自讨论区某大佬的卡常技巧,非常感谢!)。
顺带一提,亲测这两个卡常少了一个都过不去#17,两个一起上刚好能过。