T792576 【C1048】 - 领取助学金

题目描述

大学给每个学生发放助学金,每名学生都会被发放一张学生ID卡,其背面有一个磁条,记录着学生助学金的支取情况。卡的余额最初为0美元,每年的上限是40美元,并在学生生日最近的工作日支付给学生。因此,在工作日,总是会看到多达25名学生出现在附件的学生补助部门办公室领取他们的助学金。 助学金可以通过自动取款机ATM进行提取,这种自动取款机经过特殊的设计。结构上,它由内外两部分组成,内部为保险柜,其中存放着大量的1美元硬币,外部为存储箱,用于发放这些硬币。为了减少ATM被盗时的损失,只有当存储箱中的硬币被支取完毕后,保险箱才向其输出硬币。 每天早上ATM开机时,存储箱变为空,保险箱向存储箱输出一枚硬币,当此枚硬币被取走后,输出两枚硬币,然后是三枚硬币,每次增加一枚硬币,直到达到预设的上限 - k枚硬币,之后输出到存储箱的硬币数量重置为一枚,然后是两枚,按此循环。 每名学生依次排队,插入他的ID卡在ATM上取款,ATM会把该学生已经支取的助学金的总额写到ID卡上,如果学生支取的总额尚未达到每年设定的40美元上限值,那么他拿回自己的卡片,并重新排队(到队尾重新排队),继续等待取款。如果存储箱中的现金加上学生已经支取的现金数量超过40美元,学生只能支取与40美元之间的差额,剩余在存储箱中的现金将留给下一位学生支取,取足40美金的学生会离开队伍,不再继续排队了。 每个学生在取足40美金后离开队伍 现在请你编写一个程序,输入学生的数量N和ATM单次输出金币数量上限k,请输出这些学生离开排队序列的先后顺序。

输入格式

1行,包含两个正整数N和k,分别代表学生的数量和ATM单次输出金币数量上限,用空格分开

输出格式

输出1行,代表完成取款后依次离开队伍的学生序号,学生的序号按最开始排队时的先后顺序确定,第一个学生的序号为1。 输出的每个序号按右对齐输出,输出宽度为3(域宽为3)

说明/提示

注意输出结果是右对齐,输出宽度为3,以5 3的输出为例,输出的是: 空格空格1空格空格3空格空格5空格空格2空格空格4 如果输出的数字是2位数,比如输出的是12,则输出的格式为:空格12,正好保证输出的宽度为3 100%的数据:$1 \le N \le 25$,$1 \le k \le 40$