#P11427. [清华集训 2024] 绝顶之战
[清华集训 2024] 绝顶之战
Description
有一个长度为 的一维空间,还有 个物品,第 个物品的长度为 。现在按照编号从小到大的顺序依次将物品放入空间中,对于第 个物品:
- 如果当前空间中存在一段连续的长度至少为 的空余,则你必须将第 个物品放入一段连续的长度为 的空余空间中。
- 否则,第 个物品无法被放入,跳过它。
你需要输出:按照编号从小到大的顺序考虑完所有物品后,所有可能的空间占用长度,它的定义是所有被放入空间的物品的长度之和。
Input Format
输入的第一行两个整数 ,分别表示空间长度和物品个数。
第二行 个整数 ,依次表示每个物品的长度。
Output Format
输出两行,第一行一个整数 ,表示可能的空间占用长度的数量。
第二行 个整数 ,从小到大输出所有可能的空间占用长度。
注意,你需要保证 不重不漏。
8 4
3 4 1 2
4
4 6 7 8
9495432940070937 8
3000233914822387 2006732107970615 1954019279515031 3066501572807561 2123728203400817 2370011082783740 1927699386041907 2398543984293318
5
5006966022793002 6934665408834909 6960985302308033 8888684688349940 9084713505708850
Hint
【样例 1 解释】
下图分别展示了空间占用长度为 的一种可能方式:

数据范围
对于所有测试数据,,。
| 子任务编号 | 分数 | ||
|---|---|---|---|
京公网安备 11011102002149号