D
要会写代码
/*
* 排序
* 最大的一个数字 = n个数字的和 or x
*
* 最大的一个数字是n个数字的和,找x
* 最大的一个数字是x,第 n - 1个数字是和
*
*/
#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 10;
int t,n,b[maxn];
long long sum;
int xid;
void solve(){
sum = 0;
for(int i = 1; i <= n + 1; i++)
sum += b[i];
if(sum - b[n + 1] == b[n + 1]){
xid = n + 1;
return;
}
for(int i = 1;i <= n + 1; i++){
if(sum - b[i] == b[n + 2]){
xid = i;
return;
}
}
}
int main(){
ios::sync_with_stdio(0);
cin >> t;
while(t--){
cin >> n;
for(int i = 1; i <= n + 2; i++)
cin >> b[i];
sort(b + 1,b + n + 3);
xid = 0;
solve();
if(xid){
for(int i = 1; i <= n + 1; i++){
if(i != xid) cout << b[i] << " ";
}
}else cout << "-1";
cout << endl;
}
return 0;
}