#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <algorithm>
#include <queue>
using namespace std;
priority_queue<int, vector<int>, greater<int> >que;
int main()
{
int n, val;
while(scanf("%d",&n) != EOF && n)
{
while(!que.empty())
que.pop();
for( int i = 0; i < n; i++)
{
scanf("%d",&val);
que.push(val);
}
int ans = 0;
int cnt = 0;
while( cnt < n - 1)
{
cnt++;
int a = que.top();
que.pop();
int b = que.top();
que.pop();
//cout<<a+b<<endl;
ans += a + b;
que.push(a + b);
}
printf("%d\n",ans);
}
return 0;
}
UVA 10954
最新推荐文章于 2019-03-11 19:14:05 发布