小数据用插排就可以做,照理来说大数据用priority_queue应该也能过的呀,求指点QAQ
#include<bits/stdc++.h>
using namespace std;
long long n,x,ans;
priority_queue<int,vector<int>,greater<int>>q;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>x;
q.push(x);
}
while(q.size()>1)
{
int a=q.top();
q.pop();
int b=q.top();
q.pop();
ans+=a+b;
q.push(a+b);
}
cout<<ans;
return 0;
}