[COI2008] GLASNICI

题目描述

一条直线上有 $n$ 个信使,将他们按照从左至右的顺序以 $1$ 至 $n$ 编号。换句话说,设 $i$ 号信使的的坐标为 $d_i$,则对于 $1 \leq i \lt n$, $d_i \leq d_{i + 1}$。 信使传递一条消息的方法如下: - 在任意时刻(不一定是整数时刻),任一信使(无论是否已知消息)都可以自由选择向左移动或者向右移动或者原地不动。其移动的速度为每秒 $1$ 单位长度。 - 当两个信使相距不超过一给定实数 $k$ 时,双方可以进行消息传递,也即如果两人中有一人已知该消息,则两人都知道了该消息。消息传递是瞬间发生的,不消耗时间。 现在 $1$ 号信使得到了一条消息,请求出最小的让所有信使都得到该消息的用时。

输入输出格式

输入格式


第一行有一个实数,表示可以进行消息传递的最大距离 $k$。 第二行有一个整数,表示信使的个数 $n$。 第 $3$ 到第 $(n + 2)$ 行,每行一个实数,第 $(i + 2)$ 行的实数 $d_i$ 表示信使 $i$ 的坐标。

输出格式


**本题使用 Special Judge**。 输出一行一个实数表示答案。当你的输出与标准答案相差不超过 $10^{-3}$ 即可得到对应测试点的分数。因此建议您**至少保留四位小数**。

输入输出样例

输入样例 #1

3.000 
2 
0.000 
6.000

输出样例 #1

1.500

输入样例 #2

2.000 
4 
0.000 
4.000 
4.000 
8.000

输出样例 #2

1.000

说明

#### 样例 1 解释 在前 $1.5$ 秒,$1$ 号信使向右走,$2$ 号信使向左走。 第 $1.5$ 秒时,$1$ 号信使在坐标 $1.5$ 处,$2$ 号信使在坐标 $4.5$ 处,二者距离不超过 $3$,可以进行消息传递。 #### 数据规模与约定 对于全部的测试点,保证: - $1 \leq n \leq 10^5$,$0 \leq k \leq 10^6$。 - $0 \leq d_i \leq 10^9$,且对于任意的 $1 \leq i \lt n$,都有 $d_i \leq d_{i + 1}$。 - 输入的实数小数点后均有 $3$ 位数字。 #### 说明 **题目译自 [COCI2007-2008](https://hsin.hr/coci/archive/2007_2008/) [COI2008](https://hsin.hr/coci/archive/2007_2008/olympiad_tasks.pdf) *T1 GLASNICI***,翻译与 SPJ 均来自[一扶苏一](https://www.luogu.com.cn/user/65363)。