解题思路
长度为 g 的所有连续工位段读数之和相等,等价于序列以 g 为周期,即下标模 g 相同的工位最终必须取同一个值。一次校准只能把某个读数加 1,因此每一组(下标 ≡r(modg))只能把所有读数抬到不小于该组当前最大值的某个公共值。
先把每一组齐到该组当前最大值,花费为 max⋅cnt−sum。若总花费超过 d,则不可能,输出 −1。否则剩余校准次数可以全部加到同一组上(每组工位数为 cnt,该组还能整体再抬 ⌊drest/cnt⌋)。对所有组取最大值即可。
复杂度分析
时间复杂度 O(n),空间复杂度 O(n)。