nguồn đề : http://codeforces.com/problemset/problem/1512/D
Cho một số nguyên n và một mảng b gồm n + 2 phần tử : ~b_1, b_2, b_3, ... ,b_{n+2} ~ được tạo bằng thuật toán sau:
- Ban đầu có một mảng a cho sẵn gồm n phần tử.
- Tất cả các phần tử của mảng a được cho vào mảng b ( ~b_i = a_i~ với ~(1 \le i \le n )~ ).
- ~b_{n+1}~ = tổng các phần tử của a.
- ~b_{n+2}~ = một giá trị x bất kì ~(1 \le x \le 10^9 )~.
- Xáo trộn mảng b.
Ví dụ, b = [2, 3, 7, 12, 2] thì nó có thể được tạo như sau :
- a = [2, 2, 3] và x = 12.
- a = [3, 2, 7] và x = 2.
- Và mảng a = [2 ,2 ,3] có thứ tự từ điển thấp nhất.
Cho mảng số nguyên n và mảng b, hãy tìm mảng a được cho sẵn ban đầu, nếu có nhiểu mảng a thỏa mãn, in ra mảng a có thứ tự từ điển thấp nhất.
Input
Dòng đầu tiên chứa một số nguyên t - số lương test ~(1 \le t \le 10^4 )~
t*2 dòng tiếp theo
dòng thứ nhất chứa một số nguyên n ~(1 \le n \le 2.10^5 )~
dòng thứ hai chứa n + 2 số nguyên ~b_1, b_2, ... ,b_{n+2}~ ~(1 \le b_i \le 10^9 )~
** Tổng các n của t test không vượt quá ~2.10^5~
Output
In ra mảng a cho sẵn ban đầu, nếu có nhiều mảng a thỏa mãn, in ra mảng a có thứ tự từ điển thấp nhất, nếu không tồn tại mảng a thỏa mãn in ra -1.
Sample Input 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
Sample Output 1
2 2 3
-1
2 2 2 3 9
1 2 6
Bình luận