堆放货物
题目背景
Caesar 看了你建设的城市后非常满意,提拔你担任 Genoa 的地方总督,并加薪 $50$ 第纳尔。最近他又写信给你说:Genoa 不能只靠 Rome 的财政扶持,你必须开展城市贸易增加财政收入。
在花费 $500$ 第纳尔开通了至 Capua 的商路后,来自 Capua 的船只源源不断地驶来,Genoa 急需建立一个仓库来临时存放送往 Capua 的货物。
题目描述
Genoa 的货物有三种:陶器,家具,大理石,共有 $n$ 个。他们的重量分别为 $1$,$2$,$3$ 个单位。现在,有 $p$ 艘 Capua 的船只在等待着仓库的货物,你应该将仓库里的货物分成 $p$ 堆,堆放规则如下:
- 同一堆中,重量从下至上应该是递减的(显然不能把大理石堆放在陶器或家具上)。
- 任意两堆重量之差不能超过 $3$ 个单位,否则会因分配过于不均发生船只间的冲突。
请你完成这个任务,给出一种可行的方案。
输入输出格式
输入格式
第一行有一个整数,表示货物的个数 $n$。
第二行有一个整数,表示堆数 $p$。
第三行有 $n$ 个整数,第 $i$ 个整数表示第 $i$ 个货物的重量 $a_i$。
输出格式
**本题存在 Special Judge**。
输出 $p$ 行,每行若干个整数描述一堆货物,按照每堆**从下到上**的顺序列出该堆中每个货物的数量。
输入输出样例
输入样例 #1
6
3
3 2 2 1 1 1
输出样例 #1
3 1
2 1
2 1
说明
#### 数据规模与约定
对于全部的测试点,保证 $2 \leq n \leq 10^3$,$1 \leq p \leq \lfloor\frac n 2 \rfloor$,$1 \leq a_i \leq 3$。
#### 说明
感谢 @cn:苏卿念 提供spj。
spj说明:
```
score:ouo:你的输出里面有不是'1','2','3',' ','\n','\r'的东西,具体以ASCII的第X号字符
score:pvp:你在第x组的时候装下了超过规定数量的'3'|'2'|'1'。
score:TAT:蛇皮judge没能读入到想要读入的东东(类似于你直接提交了一个puts(" / 特别特别多的空格/"))
score:qaq:你把重量为w1的货物放到了w2上面(w1>w2)在第i组的第j个货物
score:ovo:你没有装足够的x
score:qwq:你第i组和第j组的差的绝对值>3了,(要打架了),第i组的重量和为x,第j组的重量和为y。
score:pwp:答案正确,恭喜你嘤嘤嘤
```