简单贪心。
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <string>
#include <vector>
#include <deque>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <utility>
#include <algorithm>
#include <functional>
using namespace std;
const int maxn = 10010;
const int inf = 0x3f3f3f3f;
typedef long long ll;
priority_queue< ll, vector<ll>, greater<ll> > pq;
int main() {
//freopen("aa.in", "r", stdin);
ll ans = 0;
ll sum = 0;
int n, x;
cin >> n;
for(int i = 1; i <= n; ++i) {
cin >> x;
sum += x;
pq.push(x);
}
while(pq.size() > 1) {
ans += sum;
ans += pq.top();
sum -= pq.top();
pq.pop();
}
ans += pq.top();
cout << ans << endl;
return 0;
}