#loj5740. 「OOI 2026 Day2」怪物与长剑

「OOI 2026 Day2」怪物与长剑

#5740. 「OOI 2026 Day2」怪物与长剑

标签: 传统 | 时间限制: 1000 ms | 内存限制: 512 MiB |

题目描述

题目译自 Open Olympiad in Informatics 2026 Day2 T4 「Монстры и мечи」 / 「Monsters and Swords

给定 nn 个排成一排的怪物。对于每个怪物,已知两个数值:hih_i 表示怪物的生命值,rir_i 表示击败该怪物后获得的金币奖励。骑士需要依次击败所有的怪物。

为了与怪物战斗,骑士拥有 mm 种类型的长剑。每种长剑都有其性能参数:sjs_j 表示长剑的力量,cjc_j 表示购买该长剑所需的金币价格。若要购买价格为 cjc_j 的长剑,骑士必须拥有至少 cjc_j 枚金币。购买长剑后,骑士拥有的金币数量会减少 cjc_j。最初,骑士拥有 xx 枚金币。

购买一把长剑后,在与怪物的战斗中最多可以使用 kk 次。每种类型的长剑都可以购买任意次数。若长剑的力量 sjhis_j \geq h_i,则该长剑可以杀死生命值为 hih_i 的怪物。在任何时刻,骑士只能拥有一把长剑,这意味着在购买新长剑后,旧长剑将无法再被使用(但以后可以再次购买之前类型的长剑)。

怪物必须按固定的顺序被击败:从第一个到最后一个。你需要判断骑士是否能够完成这一任务。

输入格式

第一行包含四个整数 n,m,kn, m, kxx $(1 \leq n, m \leq 500000, 1 \leq k \leq n, 1 \leq x \leq 10^9)$,分别表示怪物的数量、长剑类型的数量、长剑的最大使用次数以及骑士初始拥有的金币数量。

接下来的 nn 行给出怪物的描述。其中第 ii 行包含两个整数 hih_irir_i (1hi,ri109)(1 \leq h_i, r_i \leq 10^9),分别表示第 ii 个怪物的生命值和击败它后的奖励。

接下来的 mm 行给出长剑特性的描述。其中第 jj 行包含两个整数 sjs_jcjc_j (1sj,cj109)(1 \leq s_j, c_j \leq 10^9),分别表示第 jj 种长剑的力量和价格。

输出格式

如果骑士可以击败所有怪物,输出 Yes,否则输出 No

样例 1

输入

3 3 2 5
1 1
5 5
9 5
9 10
1 1
5 1

输出

Yes

在第一个样例中,骑士可以先购买第三种长剑,利用它击败第一个和第二个怪物。在此之后,他将拥有 51+1+5=105 - 1 + 1 + 5 = 10 枚金币。凭借这些金币,他可以购买第一种长剑并击败最后一个怪物。

样例 2

输入

5 5 5 6
3 6
2 4
1 1
4 4
8 4
2 7
7 7
3 4
5 9
6 4

输出

No

在第二个样例中,骑士无法击败所有怪物,因为没有任何一种长剑可以击败第五个怪物。

数据范围与提示

详细子任务附加限制及分值如下表所示。其中子任务 00 是样例。

子任务 分值 附加限制 子任务依赖
11 1111 k=1k=1 -
22 99 n100,m100,k=nn \leq 100, m \leq 100, k=n
33 1414 n100000,m3000,k=nn \leq 100000, m \leq 3000, k=n 22
44 1616 k=nk=n 2,32, 3
55 77 n400,m400n \leq 400, m \leq 400 0,20, 2
66 88 n3000,m3000n \leq 3000, m \leq 3000 0,2,50, 2, 5
77 1010 n150000,m150000n \leq 150000, m \leq 150000 0,2,3,5,60, 2, 3, 5, 6
88 1212 n300000,m300000n \leq 300000, m \leq 300000 0,2,3,5,6,70, 2, 3, 5, 6, 7
99 1313 无附加限制 080-8