文章
81
粉丝
0
获赞
275
访问
10.5k
#include<bits/stdc++.h>
using namespace std;
struct node{
int x;
node(int a){
x = a;
}
};
priority_queue<node> q;
bool operator < (const node &a,const node &b){
return a.x > b.x;
}
int main(){
int n;
cin>>n;
int x;
for(int i=0;i<n;i++){
cin>>x;
q.push(x);
}
int ans = 0;
while(q.size()>1){
node num1= q.top();
q.pop();
node num2 = q.top();
q.pop();
ans += (num1.x+num2.x);
q.push(num1.x+num2.x);
}
cout<<ans;
return 0;
}
登录后发布评论
暂无评论,来抢沙发