题解
2025-06-29 13:23:59
发布于:陕西
14阅读
0回复
0点赞
#include<bits/stdc++.h>
#define int long long
using namespace std;
long long a[90005],b[9000005];
bool cmp(int a,int b){return a > b;}
signed main(){
int T; cin >> T;
while(T--){
memset(b,0,sizeof b);
int n,m; cin >> n >> m;
for(int i = 1;i <= n;i++) cin >> a[i];
sort(a + 1,a + n + 1,cmp);
if(m >= n * (n - 1) / 2) n = n;
else n = min(n,m) / 2 + 7;
int idx = 1;
for(int i = 1;i <= n;i++){
for(int j = i + 1;j <= n;j++) b[idx++] = a[i] + a[j];
}
sort(b + 1,b + idx + 1,cmp);
for(int i = 1;i <= min(m,idx);i++) cout << b[i] << " ";
cout << endl;
}
return 0;
}
这里空空如也
有帮助,赞一个