308412: CF1515A. Phoenix and Gold

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Phoenix and Gold

题意翻译

给定一个长度为 $ n $ 的数组 $ w $ 和一个数 $ x $,数组中的数**各不相同**,要求**重新排列**这个数组,使得对于每一个 $ i $ $ (1 \le i \le n) $,都有 $ \sum\limits_{j = 1}^{i}w_j \ne x $。 注意,本题有多组测试数据。对于每一组数据,如果能满足上述要求则输出`YES`以及任意一种方案,否则输出`NO`。 数据范围:$ 1 \le t \le 1000,1 \le n \le 100, 1 \le x \le 10^4,1 \le w_i \le 100$

题目描述

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.

Input

题意翻译

给定一个长度为 $ n $ 的数组 $ w $ 和一个数 $ x $,数组中的数**各不相同**,要求**重新排列**这个数组,使得对于每一个 $ i $ $ (1 \le i \le n) $,都有 $ \sum\limits_{j = 1}^{i}w_j \ne x $。 注意,本题有多组测试数据。对于每一组数据,如果能满足上述要求则输出`YES`以及任意一种方案,否则输出`NO`。 数据范围:$ 1 \le t \le 1000,1 \le n \le 100, 1 \le x \le 10^4,1 \le w_i \le 100$

加入题单

算法标签: