#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
priority_queue<int,vector<int>,greater<int> > pile;
cin>>n;
for(int i=1;i<=n;i++){
int fruit;
cin>>fruit;
pile.push(fruit);
}
int ans=0,done=0;
for(int i=1;i<n;i++){
// cout<<pile.top()<<" ";
done=pile.top();
pile.pop();
done+=pile.top();
pile.pop();
pile.push(done);
ans+=done;
// cout<<done<<" "<<ans<<endl;
}
cout<<ans;
return 0;
}
信息学奥赛一本通:1369 合并果子(fruit)
最新推荐文章于 2024-09-18 12:57:21 发布
本文介绍了如何使用C++中的`priority_queue`数据结构,结合贪心策略解决一个求解整数序列中最大连续子数组和的问题。程序通过不断取出堆顶元素并更新答案,最后输出最大和。
1545

被折叠的 条评论
为什么被折叠?



