CF231B Magic, Wizardry and Wonders

题目描述

伟大的魔法师和魔术师 Vasya 喜欢各种奇迹和魔法。他挥动魔杖时,可以把一个物体变成另一个。但是,众所周知,宇宙中没有什么比数字的魔法更神奇了。因此,Vasya 热爱数学,并花了大量时间把一些数字变成其他数字。 今天早上,他面前排着 $n$ 张卡片,上面写着整数。每个整数都不少于 $1$,但不超过 $l$。每当 Vasya 挥动他的魔杖时,最右边的两张卡片就会消失,新的卡片神奇地出现在它们的位置,上面写着这两张消失卡片左边数字减去右边数字的差。Vasya 很想知道接下来会发生什么,于是他不停地挥动魔杖,直到桌上只剩下一张卡片。 比如 Vasya 最开始有如下卡片:4, 1, 1, 3(从左到右),那么第一次操作后卡片变为:4, 1, -2,第二次后为:4, 3,第三次后桌上只剩下一张 1。 注意,虽然最初所有卡片上的数字都不少于 $1$ 且不超过 $l$,但新出现卡片上的数字可以是任意整数,不受限制。 现在已经是晚上了。Vasya 非常疲惫,想把一切恢复原状,但他不记得早上卡片上具体数字了。他只记得最初有 $n$ 张卡片,这些卡片上的数字均为 $1$ 到 $l$ 之间的整数,经过所有魔法操作后,桌上最后剩下一张卡片,数字是 $d$。 请你帮助 Vasya 恢复初始卡片上的数字。

输入格式

一行包含三个用空格分隔的整数:$n$($2 \leq n \leq 100$)——桌上最初卡片的数量,$d$($|d| \leq 10^{4}$)——最后剩下的那张卡片的数字,$l$($1 \leq l \leq 100$)——初始卡片数字的上下限。

输出格式

如果 Vasya 记错了,即不存在满足条件的初始卡片排列,则输出一个数字 $-1$。否则,输出满足条件的初始卡片序列(共 $n$ 个整数,取值区间 $[1,l]$)。用空格分隔,按从左到右的顺序输出。如果有多组答案,可以输出任意一组。

说明/提示

由 ChatGPT 5 翻译