#loj6992. 「ICPC World Finals 2025」叠杯子
「ICPC World Finals 2025」叠杯子
[AdditionalFile6992.zip](file://AdditionalFile6992.zip?type=additional_file)
#6992. 「ICPC World Finals 2025」叠杯子
标签: 传统 | 时间限制: 2000 ms | 内存限制: 2048 MiB |
题目描述
你有一堆 个圆柱形的杯子,其中第 个杯子的高度为 厘米。这些杯子的直径递增,当且仅当 时,第 个杯子可以套入第 个杯子中。每个杯子的底部厚度为 厘米(这使得最小的杯子相当没用,因为它只有 厘米高,但你出于情感原因还是留着它)。
洗完所有杯子后,你将它们堆叠成一个塔。每个杯子都正向放置(即开口朝上),并且所有杯子的中心在垂直方向上对齐。塔的高度定义为从任何杯子的最低点到最高点的垂直距离。你想要知道应该按什么顺序放置杯子,才能使最终的高度(单位:厘米)是你最喜欢的数字。请注意,所有 个杯子都必须使用。
例如,假设 而你最喜欢的数字是 。如果你按顺序放置高度为 的杯子,那么塔的总高度将为 ,如图 J.1 所示。

输入仅包含一行,内含两个整数 和 ,其中 是杯子的数量, 是你最喜欢的数字。
输出格式
如果可以建造一个高度为 的塔,则按顺序输出所有杯子的高度。否则,输出 impossible。如果存在多种满足条件的杯子排列顺序,你可以输出任何一种。
样例 1
输入
4 9
输出
7 3 5 1
样例 2
输入
4 100
输出
impossible