本题可以使用二分答案 + 贪心 + 差分数组。
设最终最低显示值希望达到 x,问题转化为:能否在不超过 t 次操作的情况下,让所有探头的值都至少为 x。
从左到右检查每个位置 i。
维护当前所有仍然覆盖位置 i 的操作次数 add,那么当前位置的实际值为:
产线走廊上排着 q 只温感探头,第 j 只当前读数记为 hj。值班员最多可以出门巡检 t 回。每一回先定下一个起点 p(满足 1≤p≤q−w+1),再把从第 p 只到第 p+w−1 只这连续 w 只探头的显示值各抬高一档。
请在出门次数不超过 t 的限制下,让整排探头显示值里最低的那一档尽量升高,并给出这个最低档最终能升到的最高水平。
第一行三个整数 q,w,t(1≤q≤2×105,1≤w≤q,0≤t≤109)。
第二行 q 个整数 h1,h2,…,hq(∣hj∣≤109)。
输出一个整数,即整排最低显示值在限制内能够升到的最高水平。
输入
6 3 5
4 1 2 0 3 5
输出
4
说明
读数为 4,1,2,0,3,5,每一回覆盖 3 只,最多巡检 5 回。
若要把最低档升到 4:第 2 只当前是 1,还差 3。从第 2 只起做 3 回覆盖,作用在第 2∼4 只上,得到 4,4,5,3,3,5。第 4 只还差 1,再从第 4 只起覆盖 1 回(第 4∼6 只),得到 4,4,5,4,4,6,最低档为 4,共用 4 回。
若想升到 5:按同样方式从左到右补齐,次数会超过 5,故 5 做不到。答案为 4。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册