#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) 的总和不会超过题目隐含的约束(用于复杂度考虑)。
输出格式
对于每个测试用例,输出一行,内容为 YES 或 NO,表示是否能在不充电的条件下按时发送所有信息。
输入样例 #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