#P9643. 智乃的差分
智乃的差分
题目描述
智乃最近学习了一个叫做「差分」的操作,差分操作是指对一个大小为 的数组 而言,我们定义 数组是 数组的差分数组,则有
$$\begin{cases} d_0=a_0\\d_i=a_i-a_{i-1} & i\ge 1 \end{cases} $$显然,差分数组 的大小也是 ,智乃对于数字有这自己的喜好,具体来讲,她不喜欢整数 ,所以她不希望在差分数组中 出现 。
所以现在请你对数组 重新排序,使得排序后求出关于数组 的差分数组 中的任何一个元素不等于 。
如果能够做到的话首先输出一行字符串 yes
,然后输出任意一种数组 重新排序后的顺序(当然,也可以保持原顺序不动)。如果做不到的话就输出 no
。
的数组下标从 开始计算,整个数组元素的下标范围为 。
输入格式
首先输入一行一个正整数 表示测试案例的数目,对于每组测试案例:
- 首先输入两个整数 表示数组长度,以及智乃酱不希望在差分数组中出现的数字。
- 接下来一行输入 个非负整数 表示需要你排序的数组。
输出格式
对于每组案例:
-
如果存在任何一种合法的答案,首先输出一行字符串
yes
,然后输出任意一种数组 重新排序后的顺序(当然,也可以保持原顺序不动)。 -
如果做不到的话就只输出一行输出
no
。
样例
2
3 5
9 100 112
1 1000000000
1000000000
yes
100 9 112
no
对于第二组案例,只有一个数字的时候,差分数组一定是 ,不存在任何一种顺序使得差分数组中不出现 ,所以输出 no
。
见附加文件中的 a2.in
见附加文件中的 a2.out
数据范围
- 对于 的测试数据,保证 ;
- 对于 的测试数据,保证 ;
- 对于 的测试数据,保证 ,,,,。
注意,本题输入量较大,请勿使用不带有任何优化的 cin 读入数据。
本题为 spj,你可以输出任何符合题目要求的答案。