链路质量是全局最小值,最大化它适合二分答案。设二分值为 x,判断能否通过至多 k 次、每次覆盖连续 l 个中继点的校准,把所有小于 x 的中继点都覆盖掉。
检查时从左到右扫描:遇到第一个 <x 的位置,就用一次校准覆盖从这里开始的连续 l 个中继点,然后跳过这段继续扫。若扫描结束时校准次数足够,则 x 可行。
二分上界取 1000000000,最终答案为最大可行的 x。
一条骨干光缆上依次设有 n 个中继点,第 i 个中继点的信号强度为 ai。调度规范把整条链路的质量定义为所有中继点信号强度的最小值,因此最弱的那一处会拖垮全线。运维窗口里只有 k 次校准机会,每次可以把连续不超过 l 个中继点的信号强度改成任意正整数。请计算在这些限制下,校准后链路质量能达到的最大值。
约束:2≤n≤100000,1≤k⋅l<n,1≤ai≤1000000000。
第一行三个整数 n、k 和 l,分别表示中继点数、校准次数与单次最长连续长度。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.