前进之旅

提交数: 259, 通过率: 14.67%, 平均分: 48.69

题目描述:

在经历了倒可乐挑战后,小A感到疲惫并决定尝试更刺激的运动:跑酷。

跑酷在一个名为Ascent的城市进行。到达后,小A获得了一个新技能"Blask Pack",可以通过使用技能包将自己弹射出一段距离。

在Ascent中,跑酷地图是一条直线,上面有\(n\)个不同的落脚点。第\(i\)个落脚点距离小A \(a_i\)米。小A每次可以:

  • 最多跳跃\(x\)米
  • 或使用技能最多弹射\(y\)米

请帮助小A判断是否能够到达最远的落脚点。如果可能,找出使用技能的最少次数。

输入格式:

第一行包含一个整数 \(T\) (\(1 \le T \le 5\)),表示测试数据组数。  
对于每组数据:  

  • 第一行包含三个整数 \(n, x, y\)  ( \( 1 \le n \le 10^5\), \(0 \le x, y \le 10^6\) ),分别表示落脚点数量、最大跳跃距离和最大弹射距离。  
  • 第二行包含 \(n\) 个不同的整数 \(a_i\) ( \(1 \le a_i \le 10^6\) ),表示落脚点与小A的距离。  

输出格式:

如果能够到达最远落脚点,输出一个整数表示最少使用技能次数;否则输出-1。

数据范围:

说明/提示

测试点编号 n≤ x≤ y≤ a≤ 特殊性质
1∼5 10 100 100 100
6 10 100 100 100
7∼11 100 1000 100 1000
12 100 1000 100 1000
13∼15 3000 106 106 106
16 3000 106 106 106
17∼19 105 106 106 106
20 105 106 106 106
  • 特殊性质:数据保证 x≥y。

样例输入:

3
5 6 10
3 30 15 20 6
3 4 6
1 8 12
4 9 7
5 8 14 21

样例输出:

2
-1
0
时间限制: 2000ms
空间限制: 512MB

来源: 25年比赛小学组t4