#539. 走廊消息传递
走廊消息传递
说明
<!DOCTYPE html> <html> <body>在我校某条狭长走廊上,总是上演着这样的一幕:一群逗逼各种跑来跑去瞎喊着"要放假啦""只有化学班要考期末考""停课停课"这样的消息。
让我们来研究一下这种现象。
我们将走廊看作一条数轴,走廊上有n个人,开始时只有最左边的人得知一个惊人的消息。所有人都会一直不定地乱跑或是停在原地,跑步的速度最大是每秒一个单位长度。当一个人得知这个消息后,他就会一直咆哮,与他距离小于等于K的所有人都能瞬间得知这个消息并开始咆哮。
现已知同学们的初始位置以及咆哮的最大距离K,请你计算出最少需要多少时间使得每个人都得知这个消息。
输入格式
第一行一个实数K(0 ≤ K ≤ 10^6),表示咆哮的最大距离。
第二行一个整数n(1 ≤ n ≤ 10^5),表示人数。
接下来n行每行一个实数Di(0 ≤ Di ≤ 10^9),表示第i个人到走廊最左端的距离。保证给出的距离单调不减(允许一个时刻有两个人在同一个位置)。
输出格式
输出一个实数,表示所有人都得知这个消息所需的最小时间。
与答案相差在10^-3以内的输出将被判为正确。
样例
输入:
3.000 2 0.000 6.000
输出:
1.500
输入:
1.000 4 0.000 4.000 4.000 8.000
输出:
1.000</body> </html>
样例