2123:接水问题

时间限制:2 S   /  内存限制:65536 KB
AC:40   /  Submit:86
问题描述

学校里有一个水房,水房里一共装有$$m$$个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为$$1$$。

现在有$$n$$名同学准备接水,他们的初始接水顺序已经确定。

将这些同学按接水顺序从$$1$$到$$n$$编号,$$i$$号同学的接水量为$$w_i$$。

接水开始时,$$1$$到$$m$$号同学各占一个水龙头,并同时打开水龙头接水。

当其中某名同学$$j$$完成其接水量要求$$w_j$$后,下一名排队等候接水的同学$$k$$马上接替$$j$$同学的位置开始接水。

这个换人的过程是瞬间完成的,且没有任何水的浪费。

即$$j$$同学第$$x$$秒结束时完成接水,则$$k$$同学第$$x+1$$秒立刻开始接水。

若当前接水人数$$n'$$不足$$m$$,则只有$$n'$$个龙头供水,其它$$m-n'$$个龙头关闭。

现在给出$$n$$名同学的接水量,按照上述接水规则,请你输出每一秒开始时每个水龙头正在被编号为几的同学使用。

输入描述

第一行两个整数$$n$$和$$m$$,用一个空格隔开,分别表示接水人数和龙头个数。

第二行$$n$$个整数$$w_1,w_2,\ldots,w_n$$,每两个整数之间用一个空格隔开,$$w_i$$表示$$i$$号同学的接水量。

数据约束:$$1 \leq n,m,w_i \leq 100$$。

输出描述

直到最后一个同学接水完毕,每一行输出$$m$$个用空格隔开的数字,行末没有空格。

这些数字分别表示每一秒开始时每个水龙头正在被编号为几的同学使用,空闲或关闭的水龙头对应输出$$0$$。

样例输入复制样例

5 3

4 4 1 2 3

样例输出

1 2 3

1 2 4

1 2 4

1 2 5

0 0 5

0 0 5

提示说明

前$$4$$秒,编号为$$1$$和$$2$$的同学占用着前两个水龙头。

同时在前$$3$$秒编号为$$3$$和$$4$$的同学使用第三个水龙头。

第$$4$$秒至第$$6$$秒编号为$$5$$的同学正在使用第三个水龙头,此时其它两个水龙头是关闭状态。

相关

23-24(2)第2次线上赛


Copyright 2016 - 2024 XUJC ACM Team
闽ICP备2020022076号-1