#P14670. [ICPC 2025 Seoul R] Bookshelf

[ICPC 2025 Seoul R] Bookshelf

Description

:::align{center} :::

一个长度为 LL 的书架上从左到右摆放着 nn 本书 B1,,BnB_1, \cdots, B_n。每本书 BiB_i 有一个宽度(厚度)wiw_i。所有书的高度相同且与书架等高。书架上的位置 xx 对应距离左端 xx 个单位长度的点。如果一本书 BiB_i 被放置在位置 xx,它占据书架上区间 [x,x+wi)[x, x + w_i)。此时,书架上所有书占据的区间是两两不相交的。书架的左端位于位置 00,右端位于位置 LL,整个书架占据区间 [0,L)[0, L)

为了重新排列当前书架上的书,你可以执行任意次以下操作:

  • 从书架上选择一本书 BiB_i 并将其取出,这将在其原位置产生一个连续的空白区间。
  • 然后将 BiB_i 插入到书架上任意一个长度至少为 wiw_i 的现有空白区间中。

在此操作过程中,书架上所有其他保持原位的书必须固定不动——不能滑动、移动或以任何方式被推动。这是因为书和书架高度相同且紧密贴合,所以除非明确取出,否则任何书都不能移动。同时,在操作过程中,不允许通过推动或挪动其他书来腾出空间。

主人在书架上的 nn 本书中有一本最喜欢的书 BkB_k,希望将它放置到特定位置 pp

给定书的初始位置、最喜欢的书 BkB_k 及其目标位置 pp,请判断在执行任意次(可能为零次)上述操作后,是否有可能将 BkB_k 放置在位置 pp

Input Format

你的程序需要从标准输入读取数据。输入的第一行包含两个整数 nnLL (1n100,0001 \le n \le 100,0001L1091 \le L \le 10^9),其中 nn 是书的数量,LL 是书架的长度。第二行包含 nn 个在 00L1L-1(含)之间的不同整数,表示初始按升序排列在书架上的书 B1,,BnB_1, \cdots, B_n 的位置。第三行包含 nn 个正整数,其中第 ii 个整数 (1in1 \le i \le n) 是初始排列中第 ii 本书 BiB_i 的宽度 wiw_i。第四行包含两个整数 kkpp (1kn1 \le k \le n0pL10 \le p \le L-1),其中初始排列中的第 kk 本书 BkB_k 是最喜欢的书,其目标位置是 pp

Output Format

你的程序需要向标准输出写入数据。输出恰好一行。如果可以将最喜欢的书放置到目标位置,则输出 "YES",否则输出 "NO"。

3 6
1 3 5
1 2 1
3 3
YES
3 6
1 3 5
1 2 1
2 5
NO
3 7
0 3 6
2 3 1
3 1
YES
3 7
0 3 6
2 3 1
3 4
NO

Hint

翻译由 DeepSeek V3 完成