P1090 合并果子

巴啦啦能量之超级无敌连接嘤嘤嘤我莫不是个傻子
这题。。。好水。。。
暴力加一丢丢优化都能过。。
可是咱们老师要咱们用堆,那也没办法 咱也不敢说咱也不敢问
具体注释在代码里面了,本身看看喽(比心心)~~ios

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<algorithm>
 4 #include<queue>
 5 #include<cmath>
 6 #include<cstring>
 7 using namespace std;
 8 
 9 int n,ans;
10 priority_queue<int,vector<int>,greater<int> > zy;
11 
12 int main(){
13     scanf("%d",&n);
14     for(int i=1;i<=n;i++){
15         int r;
16         scanf("%d",&r);
17         zy.push(r);//读入,自主维护
18     }
19     for(int i=1;i<=n-1;i++){
20         int z=q.top();
21         zy.pop();//第一个读取,弹出
22         int y=zy.top();
23         zy.pop();//第二个读取,弹出
24         zy.push(z+y);//合并,再放入堆中
25         ans+=z+y;
26     }
27     printf("%d\n",ans);
28     return 0;
29 }

那。。新人开博鼓励一下吧。。优化

相关文章
相关标签/搜索