测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A14205. Phoenix and Gold

编程题 普及/提高-
知识点

题目描述

Phoenix has collected $n$ pieces of gold, and he wants to weigh them together so he can feel rich. The $i$ -th piece of gold has weight $w_i$ . All weights are distinct. He will put his $n$ pieces of gold on a weight scale, one piece at a time.

The scale has an unusual defect: if the total weight on it is exactly $x$ , it will explode. Can he put all $n$ gold pieces onto the scale in some order, without the scale exploding during the process? If so, help him find some possible order.

Formally, rearrange the array $w$ so that for each $i$ $(1 \le i \le n)$ , $\sum\limits_{j = 1}^{i}w_j \ne x$ .

输入格式

The input consists of multiple test cases. The first line contains an integer $t$ ( $1 \le t \le 1000$ ) — the number of test cases.

The first line of each test case contains two integers $n$ and $x$ ( $1 \le n \le 100$ ; $1 \le x \le 10^4$ ) — the number of gold pieces that Phoenix has and the weight to avoid, respectively.

The second line of each test case contains $n$ space-separated integers $(1 \le w_i \le 100)$ — the weights of the gold pieces. It is guaranteed that the weights are pairwise distinct.

输出格式

For each test case, if Phoenix cannot place all $n$ pieces without the scale exploding, print NO. Otherwise, print YES followed by the rearranged array $w$ . If there are multiple solutions, print any.

输入输出样例

输入 #1
3
3 2
3 2 1
5 3
1 2 3 4 8
1 5
5
输出 #1
YES
3 2 1
YES
8 1 2 3 4
NO

说明/提示

In the first test case, Phoenix puts the gold piece with weight $3$ on the scale first, then the piece with weight $2$ , and finally the piece with weight $1$ . The total weight on the scale is $3$ , then $5$ , then $6$ . The scale does not explode because the total weight on the scale is never $2$ .

In the second test case, the total weight on the scale is $8$ , $9$ , $11$ , $14$ , then $18$ . It is never $3$ .

In the third test case, Phoenix must put the gold piece with weight $5$ on the scale, and the scale will always explode.
上一题 去做题 下一题