烟花棒
题号:NC53203
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

题目译自 JOISC 2017 Day1 T3「手持ち花火 / Sparklers
有N人站在一条数轴上。他们人手一个烟花,每人手中的烟花都恰好能燃烧T秒。每个烟花只能被点燃一次。
1号站在原点,i号到1号的距离为X_i。保证单调递增(可能有人位置重叠)。
开始时,K号的烟花刚开始燃烧,其他人的烟花均未点燃。他们的点火工具坏了,只能用燃着的烟花将未点燃的烟花点燃。当两人位置重叠且其中一人手中的烟花燃着时,另一人手中的烟花就可以被点燃。忽略点火所需时间。
求至少需要以多快的速度跑,才能点燃所有人的烟花(此时可能有些人的烟花已经熄灭了)。速度必须是一个非负整数。

输入描述:

第一行有三个整数N,K,T,用空格分隔。
在接下来的N行中,第i行有一个整数X_i

输出描述:

一个整数,表示要想点燃所有人的烟花,全程中最大速度的最小值。
示例1

输入

复制
3 2 50
0
200
300

输出

复制
2

说明

开始时,1号向右,2号向左,3号向左。
50秒后,2号传火给1号我真的不是黑魂玩家。随后,1号和3号继续移动。
又过了25秒,1号传火给3号。
示例2

输入

复制
3 2 10
0
200
300

输出

复制
8

说明

开始时,1号向右,2号向右,3号向左。
3秒后,2号停止移动。
又过了6.5秒,3号到达2号所在位置,3号停止移动。
又过了0.5秒,2号传火给3号。
又过了9秒,3号传火给1号。
示例3

输入

复制
20 6 1
0
2
13
27
35
46
63
74
80
88
100
101
109
110
119
138
139
154
172
192

输出

复制
6

备注:

对于的数据,
对于的数据,
对于的数据,单调递增。

CC-BY-SA,感谢LOJ分享,译文来自 https://loj.ac/problem/2392