#P11966. 发送信息

发送信息

题目描述

咕噜是一个很忙的人。今天,他需要在时刻 (m_1,m_2,\dots,m_n) 发送 (n) 条信息。很不幸,到时刻 (0) 时,他的手机只剩下 (f) 个单位电量,且手机此时处于开机状态。

  • 手机每开机度过一个时间单位就会消耗 (a) 个单位电量(即每经过 1 个时间单位,若手机处于开机状态,电量减少 (a))。
  • 咕噜可以随时关闭手机并在之后重新打开,每次关机再开机会额外消耗 (b) 个单位电量(开关不耗时)。在恰好某个时刻 (x) 可以选择把手机打开以发送信息,或者在发送信息之后立即关闭手机;这些都被允许且不花费时间。
  • 如果手机电量在任意时刻降至 0 以下,手机会自动关机且无法再发送后续信息。

请判断在不充电的情况下,咕噜是否能够按给定时刻发送所有信息。


输入格式

  • 第一行:整数 (T)((1 \le T \le 10^4)),表示测试用例数量。
  • 对于每个测试用例有两行:
    • 第一行四个整数:(n)、(f)、(a)、(b)((1 \le n \le 2\cdot10^5),(1 \le f,a,b \le 10^9)),含义如上。
    • 第二行包含 (n) 个整数 (m_1,m_2,\dots,m_n)((1 \le m_i \le 10^9)),且保证它们严格递增(单调递增)。

注意:所有测试用例中 (n) 的总和不会超过题目隐含的约束(用于复杂度考虑)。


输出格式

对于每个测试用例,输出一行,内容为 YESNO,表示是否能在不充电的条件下按时发送所有信息。


输入样例 #1

6
1 3 1 5
3
7 21 1 3
4 6 10 13 17 20 26
5 10 1 2
1 2 3 4 5
1 1000000000 1000000000 1000000000
1000000000
3 11 9 6
6 8 10
12 621526648 2585904 3566299
51789 61859 71998 73401 247675 298086 606959 663464 735972 806043 806459 919683

输出样例 #1

NO
YES
YES
NO
NO
YES