#L4019. 「CEOI2023」Brought Down the Grading Server?
「CEOI2023」Brought Down the Grading Server?
题目描述
忙碌的首个比赛日已经过去……虽然科学委员会艰难地击退了对测评服务器的黑客攻击,但他们担心这影响了提交的评分。现在只有一个选择:所有提交都必须重测!
测评服务器有 个处理器核心。委员会已经给每个核心安排了一个由 份提交组成的列表,每份提交属于比赛中 道题(编号为 )中的一道。委员会确定了 是二的幂(由于一个 bug(Wolfgang 你有一个新需求),否则测评系统会崩溃,导致所有防火墙瘫痪,并可能暴露敏感信息!)。现在,在接下来 分钟,每分钟每个核心会测评列表里恰好一个提交。
不幸的是,包含测评数据的数据库十分脆弱,如果同时请求单题数据的次数变化很大,数据库就会崩溃。因此,委员会希望对每个核心题目的提交进行排序,以便在重测时,每道题同时测评的最大和最小提交数最多相差一份。
写一个程序计算这样对于每个核心的提交排序方式。
输入格式
- 第一行包含三个整数 ,含义如题目描述。
- 接下来 行,每行描述分配给每个核心的提交。第 行包含 个整数 (),表示第 个核心分配到了测评题目 的提交。
输出格式
你的程序需要输出 行,描述提交到每个核心的分配方案,从而使每道题同时测评的最大和最小提交数最多相差一份:第 行应包含 个整数 ,表示第 个核心在第 分钟测评一份对题目 的提交。保证对于每个测试点,这样的分配方案均存在。
样例输入与输出
样例 1
输入
3 2 3
1 2
2 3
2 3
输出
2 1
3 2
2 3
解释
对于第一个样例的输出,对于题目 和 ,连续测评的提交数最大值和最小值之差为 ,对于题目 这个值为 。另一方面,按输入排列提交不是一个合法的输出,因为这时对于题目 ,连续测评的提交数最大值和最小值之差为 。
样例 2
输入
3 4 3
2 3 2 2
2 3 3 2
2 2 3 2
输出
2 2 2 3
3 2 3 2
2 3 2 2
解释
对于第二个样例的输出,对于所有三道题,连续测评的提交数最大值和最小值之差为 。
数据范围与提示
1. 通用数据范围
| 变量 | 取值范围 |
|---|---|
| ,且存在正整数 使得 | |
2. 子任务附加限制与分值
| 子任务编号 | 附加限制 | 分值(说明) |
|---|---|---|
| 1 | , | (无分段) |
| 2 | ( 分: 且每道题提交总数能被 整除; 分:附加解决 所有测试点; 分:附加解决所有测试点) |
|
| 3 | ( 分: 且每道题提交总数能被 整除; 分:附加解决 所有测试点; 分:附加解决所有测试点) |
|
| 4 | 无附加限制 | ( 分: 且每道题提交总数能被 整除; 分:附加解决 所有测试点; 分:附加解决所有测试点) |
3. 子任务显示说明
对于第 个子任务的第 个部分分,测评页面中显示为第 个子任务。例如,第 个子任务的第 个部分分显示为第 个子任务。