CF1942A.Farmer John's Challenge

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Farmer John's Challenge

题目描述

让我们称一个数组 aa 是有序的,当且仅当 a1a2an1ana_1 \leq a_2 \leq \ldots \leq a_{n-1} \leq a_n

你得到了 Farmer John 最喜欢的两个整数 nnkk。他向你发起挑战,要求你找到任意一个满足以下要求的数组 a1,a2,,ana_1, a_2, \ldots, a_n

  • 对于每个 1in1 \leq i \leq n,都有 1ai1091 \leq a_i \leq 10^9
  • 在数组 aann 个循环移位中,恰好有 kk 个是有序的。^\dagger

如果不存在这样的数组 aa,输出 1-1

^\dagger 数组 aa 的第 xx 个(1xn1 \leq x \leq n)循环移位是 $a_x, a_{x+1}, \ldots, a_n, a_1, a_2, \ldots, a_{x-1}$。如果 cx,ic_{x,i} 表示 aa 的第 xx 个循环移位的第 ii 个元素,则恰好有 kkxx 满足 cx,1cx,2cx,nc_{x,1} \leq c_{x,2} \leq \ldots \leq c_{x,n}

例如,对于 a=[1,2,3,3]a = [1, 2, 3, 3],其循环移位如下:

  • x=1x = 1[1,2,3,3][1, 2, 3, 3](有序);
  • x=2x = 2[2,3,3,1][2, 3, 3, 1](无序);
  • x=3x = 3[3,3,1,2][3, 3, 1, 2](无序);
  • x=4x = 4[3,1,2,3][3, 1, 2, 3](无序)。

输入格式

第一行包含一个整数 tt1t1031 \leq t \leq 10^3)——表示测试用例的数量。

每个测试用例包含两个整数 nnkk1kn1031 \leq k \leq n \leq 10^3)——数组 aa 的长度以及要求有序的循环移位的数量。

保证所有测试用例中 nn 的总和不超过 10310^3

输出格式

对于每个测试用例,输出一行:

  • 如果存在满足条件的数组 aa,输出 nn 个整数,表示 a1,a2,,ana_1, a_2, \ldots, a_n
  • 否则,输出 1-1

如果有多组解,输出任意一组均可。

说明/提示

在第一个测试用例中,a=[1,1]a = [1, 1] 满足 n=2,k=2n = 2, k = 2

aa 的两个循环移位分别为 [a1,a2][a_1, a_2][a2,a1][a_2, a_1],即 [1,1][1, 1],均为有序。

在第二个测试用例中,a=[69420,69,420]a = [69\,420, 69, 420] 满足 n=3,k=1n = 3, k = 1

aa 的三个循环移位分别为 [a1,a2,a3][a_1, a_2, a_3][a2,a3,a1][a_2, a_3, a_1][a3,a1,a2][a_3, a_1, a_2],即 [69420,69,420][69\,420, 69, 420][69,420,69420][69, 420, 69\,420][420,69420,69][420, 69\,420, 69]

只有 [69,420,69420][69, 420, 69\,420] 是有序的。

由 ChatGPT 4.1 翻译

样例

3
2 2
3 1
3 2
1 1
69420 69 420
-1

在线编程 IDE

建议全屏模式获得最佳体验