用合并方式是过了,但是为啥不能拆分啊,没懂
#include <bits/stdc++.h>
#define endl '\n'
#define int long long
#define lll unsigned long long
#define debug(x) cout << #x << ":" << x << endl
using namespace std;
void solve(){
int n;
cin>>n;
priority_queue<int>q;
int len=0;
for(int i=1;i<=n;i++)
{
int x;
cin>>x;
len+=x;
q.push(x);
}
int ans=0;
if(n==1)
{
cout<<len;
return;
}
for(int i=1;i<=n-1;i++)
{
int y=q.top();
q.pop();
ans+=len;
// debug(ans);
len-=y;
}
cout<<ans;
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t = 1;
//cin >> t;
while (t--) {
solve();
}
return 0;
}