CF1942A Farmer John’s Challenge 翻译
题目描述
如果 a 1 ≤ a 2 ≤ ⋯ ≤ a n − 1 ≤ a n a_1 \le a_2 \le \cdots \le a_{n−1} \le a_n a1≤a2≤⋯≤an−1≤an 则称a数组已排序
给你两个农夫约翰最喜欢的整数 n n n 和 k k k 。他向你提出挑战:找出满足以下要求的数组 a 1 , a 2 , ⋯ , a n a_1,a_2,\cdots,a_n a1,a2,⋯,an:
- 对于每个 1 ≤ i ≤ n 1 \le i \le n 1≤i≤n 满足 1 ≤ a i ≤ 1 0 9 1 \le a_i \le 10^9 1≤ai≤109;
- 在 a a a 的 n n n 个循环移位中,正好有 k k k 个被排序。
如果没有这样的数组 a a a ,则输出 − 1 −1 −1 。
† 数组 a a a 的第 x ( 1 ≤ x ≤ n ) x(1 \le x \le n) x(1≤x≤n) 个循环移位为 a x , a x + 1 , ⋯ , a n , a 1 , a 2 , ⋯ , a x − 1 a_x,a_{x+1},\cdots,a_n,a_1,a_2,\cdots,a_{x-1} ax,ax+1,⋯,an,a1,a2,⋯,ax−1
例如, a = [ 1 , 2 , 3 , 3 ] a=[1,2,3,3] a=[1,2,3,3] 的循环移位如下:
- x = 1 : [ 1 , 2 , 3 , 3 ] x=1:[1,2,3,3] x=1:[1,2,3,3] (已排序);
- x = 2 : [ 2 , 3 , 3 , 1 ] x=2:[2,3,3,1] x=2:[2,3,3,1] (未排序);
- x = 3 : [ 3 , 3 , 1 , 2 ] x=3:[3,3,1,2] x=3:[3,3,1,2] (未排序);
- x = 4 : [ 3 , 1 , 2 , 3 ] x=4:[3,1,2,3] x=4:[3,1,2,3](未排序)。
输入描述
输入
第一行包含 t ( 1 ≤ t ≤ 1 0 3 t (1 \le t \le 10^3 t(1≤t≤103 - 测试用例数。
每个测试用例包含两个整数 n , k ( 1 ≤ k ≤ n ≤ 1 0 3 ) n,k(1 \le k \le n \le 10^3) n,k(1≤k≤n≤103) - a a a 的长度和 a a a 必须具有的有序的循环移位次数。
保证所有测试用例中 n n n 的总和不超过 1 0 3 10^3 103 。
输出描述
输出
为每个测试用例打印一行:
- 如果存在符合要求的数组 a a a,则输出 n n n 个整数,代表 ; a 1 , a 2 , ⋯ , a n a_1,a_2,\cdots,a_n a1,a2,⋯,an
- 否则,输出 − 1 −1 −1。
如果有多个解决方案,则打印任意一个。
样例解释
在第一个测试案例中, a = [ 1 , 1 ] a=[1,1] a=[1,1] 满足 n = 2 , k = 2 n=2,k=2 n=2,k=2:
a a a 的两个循环移位是 [ a 1 , a 2 ] [a_1,a_2] [a1,a2] 和 [ a 2 , a 1 ] [a_2,a_1] [a2,a1],它们都是 [ 1 , 1 ] [1,1] [1,1] 且有序。
在第二个测试案例中, a = [ 69 420 , 69 , 420 ] a=[69\ 420,69,420] a=[69 420,69,420] 满足 n = 3 , k = 1 n=3,k=1 n=3,k=1:
a a a 的三个循环移位分别是 [ a 1 , a 2 , a 3 ] , [ a 2 , a 3 , a 1 ] , [ a 3 , a 1 , a 2 ] [a_1,a_2,a_3],[a_2,a_3,a_1],[a_3,a_1,a_2] [a1,a2,a3],[a2,a3,a1],[a3,a1,a2],它们分别是 [ 69 420 , 69 , 420 ] , [ 69 , 420 , 69 420 ] [69\ 420,69,420],[69,420,69\ 420] [69 420,69,420],[69,420,69 420] 和 [ 420 , 69 420 , 69 ] [420,69\ 420,69] [420,69 420,69]。
只有 [ 69 , 420 , 69 420 ] [69,420,69\ 420] [69,420,69 420] 有序。