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 k have the same sum. A subarray of an array is any sequence of consecutive elements.
Phoenix currently has an array a of length n. He wants to insert some number of integers, possibly zero, into his array such that it becomes beautiful. The inserted integers must be between 1 and n 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.
凤凰喜爱优美的数组。若一个数组的所有长度为 k 的子数组的元素和均相等,则称该数组是优美的。数组的一个子数组是指其中任意一段连续的元素。
目前,凤凰拥有一个长度为 n 的数组 a。他希望向该数组中插入若干个整数(可以不插入),使得其变为优美的数组。所插入的整数必须在 1 到 n 之间(含端点)。整数可插入到任意位置(甚至可在第一个元素之前或最后一个元素之后),且他并不试图最小化插入整数的个数。
输入格式
The input consists of multiple test cases. The first line contains an integer t (1≤t≤50) — the number of test cases.
The first line of each test case contains two integers n and k (1≤k≤n≤100).
The second line of each test case contains n space-separated integers (1≤ai≤n) — the array that Phoenix currently has. This array may or may not be already beautiful.
输入包含多个测试用例。第一行包含一个整数 t(1≤t≤50),表示测试用例的数量。
每个测试用例的第一行包含两个整数 n 和 k(1≤k≤n≤100)。
每个测试用例的第二行包含 n 个以空格分隔的整数(1≤ai≤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 m (n≤m≤104). You don't need to minimize m.
The second line should contain m space-separated integers (1≤bi≤n) — a beautiful array that Phoenix can obtain after inserting some, possibly zero, integers into his array a. You may print integers that weren't originally in array a.
If there are multiple solutions, print any. It's guaranteed that if we can make array a beautiful, we can always make it with resulting length no more than 104.
对于每个测试用例,如果无法构造出优美的数组,则输出 -1。否则,输出两行。
第一行应包含优美数组的长度 m(满足 n≤m≤104)。你无需使 m 最小。
第二行应包含 m 个以空格分隔的整数(满足 1≤bi≤n)——即凤凰在数组 a 中插入若干(可能为零)个整数后所能得到的一个优美数组。你可以输出原本不在数组 a 中的整数。
若存在多种解,输出任意一种即可。题目保证:若能将数组 a 变为优美数组,则总存在一种方案使得最终数组长度不超过 104。
输入输出样例
输入#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 a beautiful by inserting the integer 1 at index 3 (in between the two existing 2s). Now, all subarrays of length k=2 have the same sum 3. There exists many other possible solutions, for example:
- 2,1,2,1,2,1
- 1,2,1,2,1,2
In the second test case, the array is already beautiful: all subarrays of length k=3 have the same sum 5.
In the third test case, it can be shown that we cannot insert numbers to make array a beautiful.
In the fourth test case, the array b shown is beautiful and all subarrays of length k=4 have the same sum 10. There exist other solutions also.
在第一个测试用例中,我们可以通过在索引 3 处(即两个已有的 2 之间)插入整数 1,使数组 a 变为优美的。此时,所有长度为 k=2 的子数组的和均为 3。还存在许多其他可行解,例如:
- 2,1,2,1,2,1
- 1,2,1,2,1,2
在第二个测试用例中,该数组本身已是优美的:所有长度为 k=3 的子数组的和均为 5。
在第三个测试用例中,可以证明:无法通过插入数字使数组 a 变为优美。
在第四个测试用例中,所示的数组 b 是优美的,且所有长度为 k=4 的子数组的和均为 10。此外,也存在其他可行解。
输入解题思路,AI测评打分。不知道怎么写?