Олимпиадный тренинг

Задача . D. Испорченный массив


Вам дано число \(n\) и массив \(b_1, b_2, \ldots, b_{n+2}\), полученный согласно следующему алгоритму:

  • был загадан некоторый массив \(a_1, a_2, \ldots, a_n\);
  • массив \(a\) записали в массив \(b\), т.е. \(b_i = a_i\) (\(1 \le i \le n\));
  • \((n+1)\)-м элементом массива \(b\) записали сумму чисел в массиве \(a\), т.е. \(b_{n+1} = a_1+a_2+\ldots+a_n\);
  • \((n+2)\)-м элементом массива \(b\) записали некоторое число \(x\) (\(1 \le x \le 10^9\)), т.е. \(b_{n+2} = x\);
  • массив \(b\) был перемешан.

Например, массив \(b=[2, 3, 7, 12 ,2]\) мог быть получен следующими способами:

  • \(a=[2, 2, 3]\) и \(x=12\);
  • \(a=[3, 2, 7]\) и \(x=2\).

Для заданного массива \(b\) найдите любой массив \(a\), который мог быть загадан изначально.

Входные данные

В первой строке содержится одно целое число \(t\) (\(1 \le t \le 10^4\)). Далее следуют \(t\) наборов входных данных.

Первая строка каждого набора содержит одно целое число \(n\) (\(1 \le n \le 2 \cdot 10^5\)).

Вторая строка каждого набора содержит \(n+2\) целых числа \(b_1, b_2, \ldots, b_{n+2}\) (\(1 \le b_i \le 10^9\)).

Гарантируется, что сумма \(n\) по всем наборам входных данных не превосходит \(2 \cdot 10^5\).

Выходные данные

Для каждого набора входных данных выведите:

  • «-1», если массив \(b\) не мог быть получен ни по какому массиву \(a\);
  • \(n\) целых чисел \(a_1, a_2, \ldots, a_n\), иначе.

Если существует несколько массивов \(a\), то можете выводить любой.


Примеры
Входные данныеВыходные данные
1 4
3
2 3 7 12 2
4
9 1 7 1 6 5
5
18 2 2 3 2 9 2
3
2 6 9 2 1
2 3 7 
-1
2 2 2 3 9 
1 2 6

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя