3695: 智乃的差分(第五轮01)
题目描述
智乃最近学习了一个叫做“差分”的操作,差分操作是指对一个大小为N的数组a而
言,我们定义d数组是a数组的差分数组,则有
d0 = a0
{di = ai − ai−1(i ≥ 1)
显然,差分数组d的大小也是N,智乃对于数字有这自己的喜好,具体来讲,她不 喜欢整数x,所以她不希望在差分数组中d出现x。
所以现在请你对数组a重新排序,使得排序后求出关于数组a的差分数组d中的任 何一个元素不等于x。
如果能够做到的话首先输出一行字符串"yes",然后输出任意一种数组a重新排序 后的顺序(当然,也可以保持原顺序不动)。如果做不到的话就输出"no"。
d,a 的数组下标从 0 开始计算,整个数组元素的下标范围为[0,N-1]
输入
首先输入一行一个正整数T表示测试案例的数目,对于每组测试案例
首先输入两个整数N, x表示数组长度, 以及智乃酱不希望在差分数组中出现的数 字。
接下来一行输入N个非负整数ai 表示需要你排序的数组。
输出
对于每组案例
如果存在任何一种合法的答案,首先输出一行字符串"yes",然后输出任意一种数 组a重新排序后的顺序(当然,也可以保持原顺序不动)。
如果做不到的话就只输出一行输出"no"。
样例输入 复制
2
3 5
9 100 112
1 1000000000
1000000000
样例输出 复制
yes
9 100 112
no
提示
【样例 1 输入】
2
3 5
9 100 112
1 1000000000
1000000000
【样例 1 输出】
yes
9 100 112
no
【样例 1 说明】
对于第二组案例,只有一个数字的时候,差分数组一定是 1000000000,不存在 任何一种顺序使得差分数组中不出现 x,所以输出 no。