贪心。
#include<iostream>
#include<algorithm>
#include<queue>
#define MAXN 20010
using namespace std;
typedef long long LL;
int n,l[MAXN];
void solve()
{
LL ans=0;
priority_queue<int,vector<int>,greater<int> >que;
while(que.size()>0)
que.pop();
for(int i=0;i<n;i++)
que.push(l[i]);
while(que.size()>1)
{
int l1,l2;
l1=que.top();
que.pop();
l2=que.top();
que.pop();
ans+=l1+l2;
que.push(l1+l2);
}
printf("%lld\n",ans);
}
int main()
{
while(~scanf("%d",&n))
{
for(int i=0;i<n;i++)
scanf("%d",&l[i]);
solve();
}
return 0;
}