- #include<cstdio>
- #include<algorithm>
- #include<iostream>
- #include<set>
- #include<queue>
- using namespace std;
- int n;
- priority_queue<int,vector<int>,greater<int> >u;
- int main(){
- cin>>n;
- for(int i=1;i<=n;++i)
- {
- int a;
- cin>>a;
- u.push(a);
- }
- int ans=0;
- while(u.size()>1)
- {
- int a=u.top();//每次合并两个最小的果子//
- u.pop();
- a+=u.top();
- u.pop();
- u.push(a);//生成一堆新果子//
- ans+=a;//计算体力//
- }
- cout<<ans<<endl;
- }
-