https://www.acmicpc.net/problem/1715
#include <iostream>
#include <queue>
#include <algorithm>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int n;
priority_queue<int,vector<int>,greater<int>> cards;
cin >> n;
int tem;
for (int i = 0; i < n; i++) {
cin >> tem;
cards.push(tem);
}
if (n == 1) {
cout << 0<<"\n";
return 0;
}
int ret = 0;
while (cards.size() > 1) {
int sum = 0;
sum += cards.top();
cards.pop();
sum += cards.top();
cards.pop();
ret += sum;
cards.push(sum);
}
cout << ret << "\n";
return 0;
}