优先队列
#include <iostream>
#include <queue>
using namespace std;
int main()
{
priority_queue < int, vector<int>, greater<int> > q;
int n;
cin >> n;
for(int i = 0;i < n;i++)
{
int x;
cin >> x;
q.push(x);
}
int res = 0;
while(q.size() != 1)
{
int a = 0;
a += q.top();
q.pop();
a += q.top();
q.pop();
res += a ;
q.push(a);
}
cout << res << endl;
return 0;
}