对于某 kkk 个位置,如果有他们可能的最小和 lll,可能的最大和 rrr,那么对于 ∀i∈[l,r]\forall i\in[l,r]∀i∈[l,r],iii 都可能是这 kkk 个位置的和。这个是可以一步一步调整依次得到的。并且在这个调整的过程中,我们可以尽量使得这 kkk 个位置的值接近。进一步可以发现,如果要让这 kkk 个位置的值均为 www,那么一定有 w∈[l,r]w\in[l,r]w∈[l,r]。
于是用二阶差分预处理 l,rl,rl,r,然后对于每个 kkk 都做一遍二分即可。时间复杂度 O(n+mlogn)O(n+m\log n)O(n+mlogn)。
注册一个 CZOJ 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 CZOJ 通用账户