#P14670. [ICPC 2025 Seoul R] Bookshelf
[ICPC 2025 Seoul R] Bookshelf
Description
:::align{center}
:::
一个长度为 的书架上从左到右摆放着 本书 。每本书 有一个宽度(厚度)。所有书的高度相同且与书架等高。书架上的位置 对应距离左端 个单位长度的点。如果一本书 被放置在位置 ,它占据书架上区间 。此时,书架上所有书占据的区间是两两不相交的。书架的左端位于位置 ,右端位于位置 ,整个书架占据区间 。
为了重新排列当前书架上的书,你可以执行任意次以下操作:
- 从书架上选择一本书 并将其取出,这将在其原位置产生一个连续的空白区间。
- 然后将 插入到书架上任意一个长度至少为 的现有空白区间中。
在此操作过程中,书架上所有其他保持原位的书必须固定不动——不能滑动、移动或以任何方式被推动。这是因为书和书架高度相同且紧密贴合,所以除非明确取出,否则任何书都不能移动。同时,在操作过程中,不允许通过推动或挪动其他书来腾出空间。
主人在书架上的 本书中有一本最喜欢的书 ,希望将它放置到特定位置 。
给定书的初始位置、最喜欢的书 及其目标位置 ,请判断在执行任意次(可能为零次)上述操作后,是否有可能将 放置在位置 。
Input Format
你的程序需要从标准输入读取数据。输入的第一行包含两个整数 和 (; ),其中 是书的数量, 是书架的长度。第二行包含 个在 到 (含)之间的不同整数,表示初始按升序排列在书架上的书 的位置。第三行包含 个正整数,其中第 个整数 () 是初始排列中第 本书 的宽度 。第四行包含两个整数 和 (; ),其中初始排列中的第 本书 是最喜欢的书,其目标位置是 。
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 完成
京公网安备 11011102002149号