Codeforces Global Round 14 |
---|
Закончено |
Феникс собрал $$$n$$$ кусков золота и теперь хочет взвесить их вместе, чтобы почувствовать себя богатым. Все веса различны и $$$i$$$-й кусок золота весит $$$w_i$$$. Феникс будет класть свои $$$n$$$ кусков на весы по одному.
У весов есть необычный дефект: если суммарный вес на них равен $$$x$$$, они взорвутся. Может ли Феникс положить все его $$$n$$$ кусков золота на весы в каком-то порядке, чтобы весы не взорвались в процессе? Если да, помогите ему определить какой-нибудь порядок.
Говоря формально, переставьте элементы массива $$$w$$$ так, чтобы для каждого $$$i$$$ $$$(1 \le i \le n)$$$, $$$\sum\limits_{j = 1}^{i}w_j \ne x$$$.
Входные данные состоят из нескольких наборов. В первой строке задано одно целое число $$$t$$$ ($$$1 \le t \le 1000$$$) — количество наборов входных данных.
В первой строке каждого набора заданы два целых числа $$$n$$$ и $$$x$$$ ($$$1 \le n \le 100$$$; $$$1 \le x \le 10^4$$$) — количество кусков золота у Феникса и вес, который нужно избежать, соответственно.
Во второй строке каждого набора заданы $$$n$$$ целых чисел через пробел $$$(1 \le w_i \le 100)$$$ — веса кусков золота. Гарантируется, что все веса попарно различны.
Для каждого набора входных данных, если Феникс не может положить все $$$n$$$ кусков избежав взрыва, выведите NO. В противном случае выведите YES и массив $$$w$$$ в соответствующем порядке. Если существует несколько решений, выведите любое из них.
3 3 2 3 2 1 5 3 1 2 3 4 8 1 5 5
YES 3 2 1 YES 8 1 2 3 4 NO
В первом наборе входных данных, Феникс кладет на весы сначала кусок золота веса $$$3$$$, потом кусок веса $$$2$$$, и наконец кусок веса $$$1$$$. На весах сначала будет суммарный вес $$$3$$$, потом — $$$5$$$, затем — $$$6$$$. Весы не взорвутся, потому что вес на них никогда не равен $$$2$$$.
Во втором наборе, весы покажут $$$8$$$, $$$9$$$, $$$11$$$, $$$14$$$ и $$$18$$$ — ничего равного $$$3$$$.
В третьем наборе, Феникс должен положить кусок весом $$$5$$$ на весы, и весы в любом случае взорвутся.
Название |
---|