有 n 个客人要在今晚举行晚宴,他们被标记为0∼n−1。客人将会落座于圆桌旁。
圆桌周围等距地摆放了 L 把椅子,按顺时针方向分别编号为0∼L−1,第 i 把椅子与第
(i+1)%L,(i−1+L)%L 把椅子相邻。任意两把相邻的椅子距离都为 1。
现已知第 i 个客人的位置是 x i(保证没有两个客人的位置相同),定义一个晚宴的冷场程度为相邻客人中相距最远的两个客人的距离。
特别地,定义 x i到 x j的距离为顺时针距离,即mod(xj−xi+L)modL。
若晚上将有 k 个客人有事离席,请求出可能的最大冷场程度。
输入描述:
第一行三个整数 n,L,k。
第二行 n 个数,第i 个数表(i−1) 号客人的位置 x i 。
输出描述:
输出为一个数,即可能的最大冷场程度。
示例1
输入
5 10 1
0 2 5 7 8
输出
5
说明
当 1 号客人(位于座位 2)有事离席时冷场值为
```
max{5−0,7−5,8−7,(0−8+L)modL}=5
```,可以证明这是最优方案。
备注:
对于所有数据,2≤n≤10^6,0≤k≤n−2,2≤L≤10^9,0≤xi<L。
请问有什么思路(or C++代码)