问题 6388 --工人分组

6388: 工人分组★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 11  解决: 7
[提交][状态][命题人:]

题目描述

某项活动有n个单位(编号1n)参加,需将员工分成若干个小组,每个小组的人数上限为m,小组

编号按新建次序从1开始编号。分组时,首先按单位编号次序依次在各单位内部分组,每m人分配到

一个新建小组中,不足m人的剩余员工暂不分配;然后按剩余员工人数由大到小的顺序,依次为各单位

剩余员工分配小组。

若某单位剩余员工人数为k,则分配方法为:在已建的小组中查找空位数(该小组还可容纳的人数)大于或等于k的小组,如果找到的小组有多个,则选择空位数最少的小组,将此k人分配到该小组中;如果没有找到,则新建一个小组,将此k人分配到该小组中。

n5m20,各单位员工人数及单位内部的分组过程如第15题图a所示,各单位剩余员工的分组过程如第15题图b所示。


给定各单位编号及员工人数,根据上述方法进行分组处理,按单位编号次序输出各单位所分配的分组编号。


输入

第一行输入正整数m, 1<=m<=100

第二行输入各单位的工人人数,空格隔开

每个单位人数不超过1000

输出

每个单位一行,每行输出该单位的分组编号,从小到大空格隔开
样例输入
Copy
20
23 17 54 20 38
样例输出
Copy
1 7
7
2 3 8
4
5 6

提示

来源

[提交][状态]