题号:NC214084
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
给你n,x ,y三个整数 你要构造一个数组
在该数组中 最长的单调递增的子序列长度是x
在该数组中 最长的单调递减的子序列长度是y
让你构造出一个这样的数组,如果有多个,输出字典序最小的那个
输入描述:
第一行是样例数T
1<T<20
接下来每一行输入 n,x,y(1<=x,y<=n)
输出描述:
对每组样例,第一行输出时候能够成功,如果可以构造输出YES,否则输出NO
如果可以构造要在下一行输出n个数,为你构造的数组,注意行末不要有多余空格。
示例1
输入
复制
4
10 1 10
10 10 1
10 5 5
10 8 8
输出
复制
YES
10 9 8 7 6 5 4 3 2 1
YES
1 2 3 4 5 6 7 8 9 10
YES
1 2 3 5 4 10 9 8 7 6
NO
说明
对样例解释:
第三个样例最长单调递增为1 2 3 5 10 为5
最长单调递减为10 9 8 7 6 为5