3849 - 蛙
时间限制 : 1 秒
内存限制 : 128 MB
在一条特别长而直的“二进制”的河床上,有几块突出水面的岩石。它们与小溪泉水的距离分别为p_1 < p_2 < \cdots < p_n。一只坐在其中一只青蛙上的小青蛙即将开始跳跃训练。每次青蛙跳到离它坐的岩石第k近的岩石上。具体来说,如果青蛙坐在岩石上的位置p_i,那么它就会跳到这样的p_j上:
如果p_j不是唯一的,那么青蛙会从中最靠近泉水的岩石(即最小编号岩石)。根据岩石的起点,在m次跳跃后,青蛙会坐在哪块岩石上?
输入
输入的第一行包含三个整数,n、k和m(1 \le k < n \le 1000 ,1 \le m \le 10^{18}),用单个空格分隔,分别表示:岩石数量、参数k以及预期跳跃次数。
第二行包含n整数p_j(1 \le p_1 < p_2 <\cdots < p_n \le 10^{18}),由单个空格分隔,表示河床上连续岩石的位置。
输出
输出一行,其中包含n整数r_1,r_2,\cdots,r_n,从区间[1,n]开始,用单个空格分隔。数字r_i表示青蛙从岩石号i(按输入顺序)跳跃m后结束的岩石号。
样例
输入
5 2 4 1 2 4 7 10
输出
1 1 3 1 1
来源
POI