#include<iostream>
#include<queue>
using namespace std;
int main(){
int i,n,m,sum;
sum=0;
cin>>n;
priority_queue<int, vector<int>, greater<int> >q;
for(i=0;i<n;i++){
cin>>m;
q.push(m);
}
for(i=0;i<n-1;i++){
int x=q.top();q.pop();
int y=q.top();q.pop();
sum+=x+y;q.push(x+y);
}
cout<<sum<<endl;
return 0;
}
贪心法合并果子(优先级队列priority_queue)
最新推荐文章于 2024-09-12 19:02:20 发布