CF1513A.Array and Peaks
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
A sequence of n integers is called a permutation if it contains all integers from 1 to n exactly once.
Given two integers n and k , construct a permutation a of numbers from 1 to n which has exactly k peaks. An index i of an array a of size n is said to be a peak if 1<i<n and ai>ai−1 and ai>ai+1 . If such permutation is not possible, then print −1 .
输入格式
The first line contains an integer t ( 1≤t≤100 ) — the number of test cases.
Then t lines follow, each containing two space-separated integers n ( 1≤n≤100 ) and k ( 0≤k≤n ) — the length of an array and the required number of peaks.
输出格式
Output t lines. For each test case, if there is no permutation with given length and number of peaks, then print −1 . Otherwise print a line containing n space-separated integers which forms a permutation of numbers from 1 to n and contains exactly k peaks.
If there are multiple answers, print any.
输入输出样例
输入#1
5 1 0 5 2 6 6 2 1 6 1
输出#1
1 2 4 1 5 3 -1 -1 1 3 6 5 4 2
说明/提示
In the second test case of the example, we have array a=[2,4,1,5,3] . Here, indices i=2 and i=4 are the peaks of the array. This is because $(a_{2} \gt a_{1} $ , a2>a3) and (a4>a3 , a4>a5) .