Related
In following contests:
偏差 T 越大,每一层可选的安装高度越多,原来可行的方案仍然可行。所以最小的 T 可以对它二分。
T 固定以后,第 i 层的安装高度必须落在 [ai−T,ai+T],这个区间里可以出现负数。相邻两层的高度差只能是 0 或 1。如果某一层能够到达的高度正好是闭区间 [L,R],那么下一层在还没看自己的基准高度之前,能接到的高度是 [L−1,R+1]。再和下一层自己的允许区间求交。交成空集,这个 T 就不够。
二分的上界取所有基准高度的最大值。把每一层都安装到高度 0 时,相邻差是 0,每层偏差不超过最大基准高度,所以这个上界一定可行。下界是 0。
机房里一列机柜自下而上有 n 个安装层,编号 1∼n。第 i 层的基准高度是整数 ai。
要为每一层定一个整数安装高度 hi。所有层共用同一个非负整数偏差 T:
请计算最小的 T。
第一行一个整数 n。
第二行 n 个整数 a1,a2,…,an。
1≤n≤105
0≤ai≤109
输出一个整数,为最小的非负整数 T。
输入
3
0 3 6
输出
2
说明
T=1 时,三层高度只能分别落在 [−1,1]、[2,4]、[5,7]。
第 2 层和第 3 层相差要是 0 或 1,只能取 h2=4、h3=5。此时 h1 还要与 4 相差 0 或 1,即 h1∈[3,5]。它和 [−1,1] 没有公共整数,所以 T=1 不可行。
T=0 时高度只能是 0,3,6,相邻差为 3 和 3,也不可行。
T=2 时可以取 h=(2,3,4):
因此最小的 T 是 2。
若三层安装成同一个高度,例如 h=(3,3,3),第 1 层和第 3 层的偏差都是 3,对应的 T 至少是 3,比 2 大。
输入
3
4 1 3
输出
1
说明
T=0 时高度只能是 4,1,3。∣4−1∣=3,不是 0 或 1,不可行。
T=1 时可以取 h=(3,2,2):
第 2 层比第 1 层低 1,相差仍然允许。因此最小的 T 是 1。
In following contests:
© CodeFun2000 · 使用条款
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册