此题水的惊天地,泣鬼神。。。。
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <queue>
using namespace std;
int main()
{
int n;
while(scanf("%d", &n) && n)
{
priority_queue<int, vector<int>, greater<int> > que;
for(int i = 1; i <= n; i++)
{
int x;
scanf("%d", &x);
que.push(x);
}
int ans = 0;
for(int i = 1; i < n; i++)
{
int a = que.top();
que.pop();
int b = que.top();
que.pop();
ans += (a+b);
que.push(a+b);
}
printf("%d\n",ans);
}
return 0;
}