洛谷1090
#include<bits/stdc++.h>
using namespace std;
int a[100001];
int main()
{
int i,j,n,q,sum=0;
cin>>n;
for(i=1;i<=n;i++)
cin>>a[i];
sort(a+1,a+1+n);//大家应该都能看懂
for(i=1;i<=n-1;i++)//进行n-1次合并就行了
{
q=a[i]+a[i+1];//新的一对
for(j=i+1;j<=n-1;j++)
{
a[j]=a[j+1];
if(a[j]>q){a[j]=q;break;
}
}//插入排序,找到一个比q大的就插入,并将数组整体后移
if(j==n)a[n]=q;//处理q为最大的
sum+=q;//力气++
}
cout<<sum;
}