#P16798. [NWRRC 2025]High Score
[NWRRC 2025]High Score
题目描述
赫敏喜欢玩一款电脑游戏。游戏中,玩家维护一个无序整数多重集合。
初始时,多重集合为空,玩家得分为 。在游戏的任意时刻,多重集合中至多包含 个整数,且这些整数可以相同。
每一回合,玩家可以选择执行以下操作之一:
- 插入(Insert):选择整数 或 ,将其插入多重集合。该操作不增加得分,并且只有在操作前集合大小严格小于 时才能执行。
- 合并(Merge):选择一个整数 ,要求多重集合中至少有两个 。删除两个 ,并插入一个 。该操作使玩家的得分增加 。
玩家可以在任意一回合结束后停止游戏,此时当前得分成为最终得分。
赫敏在排行榜上看到了自己曾经取得的 个最高分:
对于每个 ,请找出一个可能的游戏终局多重集合,使得赫敏能够以分数 结束游戏;如果分数 不可能取得,则报告无解。
你只需要输出终局多重集合,不需要输出具体的操作序列。
输入格式
第一行包含两个整数 ,分别表示排行榜中的分数数量以及多重集合的最大容量。
接下来 行,每行包含一个整数 ,表示一个需要处理的分数。
输出格式
对于每个分数 :
- 如果无法取得该分数,输出一行
-1; - 否则输出一行,首先输出终局多重集合的大小 ,随后输出 个整数,表示集合中的元素,元素顺序任意。
输出的多重集合必须确实能够作为得分为 时的某个游戏终局。
如果有多种答案,输出任意一种即可。
数据范围
样例 1
1 2
12
1 8
样例 2
4 5
4
12
10
20
2 4 2
5 8 4 2 2 4
-1
3 2 4 8
样例 3
1 16
19956
1 2048
样例说明
样例 1 的一种操作过程如下:
$$\varnothing \rightarrow \{2\} \rightarrow \{2,2\} \rightarrow \{4\} \rightarrow \{4,4\} \rightarrow \{8\}.$$两次合并分别增加 分和 分,因此最终得分为 。