远征补给(supply)
题目描述
的训练队要进行一次远征训练。
远征路线可以看成一条数轴,起点在位置 ,终点在位置 。
小 D 每次补满能量后,最多可以向前走 个单位距离。起点处能量已经补满,途中有 个补给站,第 个补给站的位置为 。
当小 D 到达某个补给站时,可以选择在这里补满能量。每进入一个补给站补给一次,补给次数加 。
请你求出小 D 从起点走到终点,最少需要补给多少次。
如果无法到达终点,输出 。
输入格式
第一行包含三个整数 ,分别表示补给站数量、终点位置和每次补满后最多能走的距离。
第二行包含 个整数:
表示每个补给站的位置。
输出格式
输出一行一个整数。
如果可以到达终点,输出最少补给次数;否则输出 。
输入输出样例 #1
输入 #1
5 25 10
6 9 14 20 23
输出 #1
3
样例解释 #1
小 D 可以按照下面的方式前进:
- 从 出发,走到位置 的补给站补给;
- 从 出发,走到位置 的补给站补给;
- 从 出发,走到位置 的补给站补给;
- 从 出发,直接到达终点 。
一共补给 次。
输入输出样例 #2
输入 #2
3 30 8
7 16 24
输出 #2
-1
样例解释 #2
从起点 出发,最多只能走到位置 ,可以到达位置 的补给站。
但是从位置 出发,最多只能走到位置 ,无法到达下一个补给站 ,因此无法到达终点。
数据范围与约定
对于所有测试数据,保证:
$$0 \le n \le 2\times 10^5,\quad 1 \le D \le L \le 10^9 $$并保证所有补给站位置互不相同。
| 测试点 | 分值 | 特殊性质 | ||
|---|---|---|---|---|
| 无 | ||||
| 无 |
特殊性质 :保证输入的补给站位置已经按从小到大的顺序给出。
特殊性质 :保证一定可以到达终点。
特殊性质 :保证 。
京公网安备11010802045784号