#include<bits/stdc++.h>
using namespace std;
int n,a[10005]={0},num=0;
void px(){
int p,t;
for(int i=1;i<n;i++){
if(a[i]<=a[0]&&a[i+1]>=a[0]){
p=i;
t=a[i];
break;
}
}
for(int i=n;i>=p+1;i--){
a[i]=a[i-1];
}
a[p]=t;
return;
}
int main(){
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
sort(a,a+n);
for(int i=0;i<n-1;i++){
num+=(a[0]+a[1]);
a[0]=num;
for(int i=1;i<n;i++){
a[i]=a[i+1];
}
cout<<a[0]<<" "<<a[1]<<" "<<endl;
px();
for(int i=0;i<n;i++){
cout<<a[i]<<" ";
}
cout<<endl<<num<<endl;
}
cout<<endl;
cout<<num<<endl;
return 0;
}
输入
3
1 2 9
最终num的值为15
#include<bits/stdc++.h>
using namespace std;
int n,a[10005]={0},num=0;
void px(){
int p,t;
for(int i=1;i<n;i++){
if(a[i]<=a[0]&&a[i+1]>=a[0]){
p=i;
t=a[i];
break;
}
}
for(int i=n;i>=p+1;i--){
a[i]=a[i-1];
}
a[p]=t;
return;
}
int main(){
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
sort(a,a+n);
for(int i=0;i<n-1;i++){
num+=(a[0]+a[1]);
a[0]=num;
for(int i=1;i<n;i++){
a[i]=a[i+1];
}
//cout<<a[0]<<" "<<a[1]<<" "<<endl;
px();
for(int i=0;i<n;i++){
cout<<a[i]<<" ";
}
cout<<endl<<num<<endl;
}
cout<<endl;
cout<<num<<endl;
return 0;
}
输入
3
1 2 9
最终num的值为7