#2007. 前进之旅

前进之旅

前进之旅

2S 512MB

题目描述

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

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

在 Ascent 中,跑酷地图可以看作一条数轴,其上有 nn 个不同的落脚点。第 ii 个落脚点距离小 A 的起点有 aia_i 米。小 A 每次可以进行如下两种移动方式之一:

  • 最多跳跃 xx
  • 或使用一次技能,最多弹射 yy

请你判断小 A 是否能够到达最远的落脚点。如果可以,求出所需使用技能的最少次数。


输入格式

从标准输入按以下格式读取数据:

TT

nn xx yy

a1a_1 a2a_2 \dots ana_n

其中:

  • 第一行输入一个整数 TT,表示测试数据组数。

  • 对于每组数据:

    • 第一行输入三个整数 n,x,yn,x,y,分别表示落脚点数量、最大跳跃距离和最大弹射距离。
    • 第二行输入 nn 个互不相同的整数 aia_i,表示各个落脚点到起点的距离。

数据范围

  • 1T51 \le T \le 5
  • 1n1051 \le n \le 10^5
  • 0x,y1060 \le x,y \le 10^6
  • 1ai1061 \le a_i \le 10^6
  • 所有落脚点位置互不相同

各测试点限制如下:

测试点编号 nn \le xx \le yy \le aia_i \le 特殊性质
151 \sim 5 1010 100100 100100 100100
66
7117 \sim 11 100100 10001000 10001000
1212
131513 \sim 15 30003000 10610^6
1616
171917 \sim 19 10510^5
2020

特殊性质:数据保证 xyx \ge y


输出格式

对于每组测试数据:

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

样例

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