CF1348B.Phoenix and Beauty

普及/提高-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Phoenix loves beautiful arrays. An array is beautiful if all its subarrays of length kk have the same sum. A subarray of an array is any sequence of consecutive elements.

Phoenix currently has an array aa of length nn. He wants to insert some number of integers, possibly zero, into his array such that it becomes beautiful. The inserted integers must be between 11 and nn inclusive. Integers may be inserted anywhere (even before the first or after the last element), and he is not trying to minimize the number of inserted integers.

凤凰喜爱优美的数组。若一个数组的所有长度为 kk 的子数组的元素和均相等,则称该数组是优美的。数组的一个子数组是指其中任意一段连续的元素。

目前,凤凰拥有一个长度为 nn 的数组 aa。他希望向该数组中插入若干个整数(可以不插入),使得其变为优美的数组。所插入的整数必须在 11 到 nn 之间(含端点)。整数可插入到任意位置(甚至可在第一个元素之前或最后一个元素之后),且他并不试图最小化插入整数的个数。

输入格式

The input consists of multiple test cases. The first line contains an integer tt (1≤t≤501 \le t \le 50) — the number of test cases.

The first line of each test case contains two integers nn and kk (1≤k≤n≤1001 \le k \le n \le 100).

The second line of each test case contains nn space-separated integers (1≤ai≤n1 \le a_i \le n) — the array that Phoenix currently has. This array may or may not be already beautiful.

输入包含多个测试用例。第一行包含一个整数 tt(1≤t≤501 \le t \le 50),表示测试用例的数量。

每个测试用例的第一行包含两个整数 nn 和 kk(1≤k≤n≤1001 \le k \le n \le 100)。

每个测试用例的第二行包含 nn 个以空格分隔的整数(1≤ai≤n1 \le a_i \le n),即凤凰当前拥有的数组。该数组可能已经美丽,也可能尚未美丽。

输出格式

For each test case, if it is impossible to create a beautiful array, print -1. Otherwise, print two lines.

The first line should contain the length of the beautiful array mm (n≤m≤104n \le m \le 10^4). You don't need to minimize mm.

The second line should contain mm space-separated integers (1≤bi≤n1 \le b_i \le n) — a beautiful array that Phoenix can obtain after inserting some, possibly zero, integers into his array aa. You may print integers that weren't originally in array aa.

If there are multiple solutions, print any. It's guaranteed that if we can make array aa beautiful, we can always make it with resulting length no more than 10410^4.

对于每个测试用例,如果无法构造出优美的数组,则输出 -1。否则,输出两行。

第一行应包含优美数组的长度 mm(满足 n≤m≤104n \le m \le 10^4)。你无需使 mm 最小。

第二行应包含 mm 个以空格分隔的整数(满足 1≤bi≤n1 \le b_i \le n)——即凤凰在数组 aa 中插入若干(可能为零)个整数后所能得到的一个优美数组。你可以输出原本不在数组 aa 中的整数。

若存在多种解,输出任意一种即可。题目保证:若能将数组 aa 变为优美数组,则总存在一种方案使得最终数组长度不超过 10410^4。

输入输出样例

  • 输入#1

    4
    4 2
    1 2 2 1
    4 3
    1 2 2 1
    3 2
    1 2 3
    4 4
    4 3 4 2

    输出#1

    5
    1 2 1 2 1
    4
    1 2 2 1
    -1
    7
    4 3 2 1 4 3 2

说明/提示

In the first test case, we can make array aa beautiful by inserting the integer 11 at index 33 (in between the two existing 22s). Now, all subarrays of length k=2k=2 have the same sum 33. There exists many other possible solutions, for example:

  • 2,1,2,1,2,12, 1, 2, 1, 2, 1
  • 1,2,1,2,1,21, 2, 1, 2, 1, 2

In the second test case, the array is already beautiful: all subarrays of length k=3k=3 have the same sum 55.

In the third test case, it can be shown that we cannot insert numbers to make array aa beautiful.

In the fourth test case, the array bb shown is beautiful and all subarrays of length k=4k=4 have the same sum 1010. There exist other solutions also.

在第一个测试用例中,我们可以通过在索引 33 处(即两个已有的 22 之间)插入整数 11,使数组 aa 变为优美的。此时,所有长度为 k=2k=2 的子数组的和均为 33。还存在许多其他可行解,例如:

  • 2,1,2,1,2,12, 1, 2, 1, 2, 1
  • 1,2,1,2,1,21, 2, 1, 2, 1, 2

在第二个测试用例中,该数组本身已是优美的:所有长度为 k=3k=3 的子数组的和均为 55。

在第三个测试用例中,可以证明:无法通过插入数字使数组 aa 变为优美。

在第四个测试用例中,所示的数组 bb 是优美的,且所有长度为 k=4k=4 的子数组的和均为 1010。此外,也存在其他可行解。

输入解题思路,AI测评打分。不知道怎么写?

首页