#CF2084D. 冻土层上的生态城建设
冻土层上的生态城建设
D. 永久冻土上的阿科ology
时间限制:每个测试点 2 秒
内存限制:256 兆字节
题目描述
给定三个整数 、 和 ,满足 。
对于一个由非负整数组成的序列 ,定义 如下:
你可以对 执行以下操作:
设 为 当前的长度。选择一个正整数 满足 ,移除从下标 到 的子数组,并将剩余部分拼接起来。换句话说,将 替换为:
定义为在执行至多 次上述操作后,可能得到的序列的 的最小值。
你需要构造一个长度为 的序列 ,满足:
- 对于所有 ,有 。
- 在所有这样的序列 中, 被最大化。
注:
表示集合 中未出现的最小非负整数。
输入格式
每个测试文件包含多个测试用例。
第一行包含一个整数 (),表示测试用例的数量。
接下来每个测试用例一行,包含三个整数 、 和 :
$$2 \le n \le 2 \times 10^5,\quad 1 \le m < n,\quad 1 \le k < n,\quad m \cdot k < n $$所有测试用例的 之和不超过 。
输出格式
对于每个测试用例,输出 个整数 ()。
如果有多个答案,输出任意一个即可。
示例
输入
8
2 1 1
5 2 2
6 1 4
8 2 2
8 1 5
11 3 3
22 6 3
17 2 2
输出
0 0
0 1 0 0 0
0 1 2 2 0 1
0 2 1 0 1 0 8 1
0 1 2 1000000000 1 0 1 2
1 0 0 1 0 2 1 0 2 1 0
0 2 1 0 2 1 0 3 2 1 0 2 1 0 2 1 0 2 1 0 2 1
4 0 2 1 3 4 0 2 1 0 3 4 0 1 2 1 3
样例解释
- 第一个测试用例:可以证明 ,这是最大可能值。
- 第二个测试用例:可以证明 是最大值。例如通过以下操作得到 :
- 选择 ,移除下标 3 到 4,序列变为 。
- 选择 ,移除下标 1 到 2,序列变为 。
- 第三个测试用例:可以证明 是最大值。例如选择 ,移除下标 2 到 5,序列变为 ,此时 。
- 其他测试类似,均能达到所给 的最大值。