3695: 智乃的差分(第五轮01)

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:4 解决:1

题目描述

智乃最近学习了一个叫做“差分”的操作,差分操作是指对一个大小为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。

来源/分类