Codeforces Round 696 (Div. 2) |
---|
Закончено |
Вы нашли бесполезный массив целых чисел $$$a$$$ длины $$$2n$$$. Так как он оказался Вам не нужен, Вы решили выкинуть все элементы $$$a$$$.
Это было бы просто, но оказалось, что выкидывать числа надо, соблюдая следующие правила:
Например, если изначально $$$a = [3, 5, 1, 2]$$$, то Вы можете выбрать $$$x = 6$$$ и выкинуть второе и третье число в $$$a$$$, сумма которых равна $$$5 + 1 = 6$$$. После этого $$$x$$$ станет равно $$$5$$$, а в массиве останутся числа $$$3$$$ и $$$2$$$, которые Вы можете выкинуть на следующей операции.
Обратите внимание, что Вы выбираете $$$x$$$ только в начале и не можете изменить его между операциями.
Напишите программу, чтобы определить, как выбросить все элементы $$$a$$$.
В первой строке задано одно целое число $$$t$$$ ($$$1 \leq t \leq 1000$$$) — количество наборов входных данных. Далее следуют описания самих наборов.
В первой строке каждого набора задано одно целое число $$$n$$$ ($$$1 \leq n \leq 1000$$$).
Во второй строке каждого набора задано $$$2n$$$ натуральных чисел $$$a_1, a_2, \dots, a_{2n}$$$ ($$$1 \leq a_i \leq 10^6$$$) — изначальный массив $$$a$$$.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$1000$$$.
Для каждого набора входных данных в первой строке выведите YES если возможно выкинуть все элементы массива. Иначе выведите NO.
Если Вы вывели YES в следующей строке выведите значение $$$x$$$, которое Вы выбираете в начале. В следующих $$$n$$$ строках выведите по два числа — числа, которые Вы выбираете на очередной операции.
4 2 3 5 1 2 3 1 1 8 8 64 64 2 1 1 2 4 5 1 2 3 4 5 6 7 14 3 11
YES 6 1 5 2 3 NO NO YES 21 14 7 3 11 5 6 2 4 3 1
Первый набор входных данных был описан в условии.
Во втором и третьем наборах входных данных можно показать, что нельзя выкинуть все элементы массива $$$a$$$.
Название |
---|