先记原序列总和为 SSS。
若选择区间 [l,r][l,r][l,r],答案相对 SSS 的增量为 (C−1)∑i=lrAi(C-1)\sum_{i=l}^r A_i(C−1)∑i=lrAi;不操作则对应增量 000。因此把每个 AiA_iAi 乘上 C−1C-1C−1 得到新序列,只需求这个新序列允许选择空段时的最大子段和。扫描时维护“以当前位置结尾的最大非负子段和”,并同步更新全局最大值即可。
所有计算使用 64 位整数。
时间复杂度为 O(N)O(N)O(N),额外空间复杂度为 O(1)O(1)O(1)。
注册一个 Hydro 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 Hydro 通用账户