2024 华南师范大学百度杯新生赛 正式赛 Div.2 新生赛道

Problem F. 你俩的要求怎么这么多

NULL_SFGouk_ 发现了三个数字 nnmmkk (m<km < k)。他们决定构造一个长度为 nn 的排列 ^{\dagger}

对于该排列,Gouk_ 提出了以下函数: g(i)g(i) 是该排列中长度为 ii 的前缀上不大于 mm 的所有数字的和。类似地,NULL_SF 提出了函数 ff ,其中 f(i)f(i) 是长度为 ii 的前缀上不小于 kk 的所有数字的和。长度为 ii 的前缀是由原始数组的前 ii 个元素组成的子数组。

例如,如果 n=5n = 5m=2m = 2k=4k = 4 ,排列为 [4,5,3,2,1][4, 5, 3, 2, 1] ,则:

前缀不小于 k = 4 的值f不大于 m = 5 的值g
[4][4]40
[4, 5][4, 5]4 + 5 = 90
[4, 5, 3][4, 5]4 + 5 = 90
[4, 5, 3, 2][4, 5]4 + 5 = 9[2]2
[4, 5, 3, 2, 1][4, 5]4 + 5 = 9[1, 2]1 + 2 = 3

帮助他们找到一个使 (i=1nf(i)i=1ng(i))\left(\sum_{i=1}^n f(i) - \sum_{i=1}^n g(i)\right) 值最大化的排列。

^{\dagger} 长度为 nn 的排列是由 nn 个从 11nn 的任意顺序的不同整数组成的数组。例如, [2,3,1,5,4][2,3,1,5,4] 是一个排列,但 [1,2,2][1,2,2] 不是一个排列(因为 22 在数组中出现了两次), [1,3,4][1,3,4] 也不是一个排列(因为 n=3n=3 ,但 44 出现在数组中)。

输入

第一行包含一个整数 tt (1t104)( 1 \le t \le 10^4)——测试用例数。

每个案例的唯一一行包含三个整数 n,m,kn, m, k (2n105;1m<kn)( 2 \le n \le 10^5; 1 \le m < k \le n)——要构建的排列的大小和两个整数。

保证所有测试用例中 nn 的总和不超过 2×1052 \times 10^5

输出

对于每个测试用例,输出排列组合,即满足问题条件的一组数字。如果有多个解决方案,你可以输出其中任何一个。

样例

标准输入 复制文本
3
5 2 5
3 1 3
10 3 8
标准输出 复制文本
5 4 3 1 2
3 2 1
10 9 8 7 6 5 4 1 2 3

登录以提交代码。
单点时限 1 秒
内存限制 128 MB
提交 278
通过 153

A B C D E F G H I J