代码(详细思路)
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main(){
int a;
cin>>a;
vector<int> l;
int t;
for(int i=0;i<a;i++){
cin>>t;
l.push_back(t);
}
int k;
for(int i=0;i<a;i++){
for(int j=0;j<a-1;j++){
if(l[j]<l[j+1]){
k=l[j];
l[j]=l[j+1];
l[j+1]=k;
}
}
}
int x;
int sum=0;
for(int i=0;i<a-1;i++){
l.push_back(1e8);
x=l[0]+l[1];
l.erase(l.begin(),l.begin()+2);
sum+=x;
int j=l.size()-2;
while(x<l[j]){
l[j+1]=l[j];
j--;
if(j==0){
break;
}
}
l[j+1]=x;
for(int i=0;i<l.size();i++){
cout<<l[i]<<" ";
}
cout<<endl;
}
cout<<sum;
return 0;
}