首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

宁波市工程学院 OJ [1282] A Bouquet of Flowers 最大的k个数的和

2012-11-25 
宁波工程学院 OJ [1282] A Bouquet of Flowers最大的k个数的和#includestdio.h#includestdlib.h#inclu

宁波工程学院 OJ [1282] A Bouquet of Flowers 最大的k个数的和

  • #include<stdio.h>#include<stdlib.h>#include<queue>using namespace std;int getval(){ int ret(0); char c; while((c=getchar())==' '||c=='\n'||c=='\r'); ret=c-'0'; while((c=getchar())!=' '&&c!='\n'&&c!='\r') ret=ret*10+c-'0'; return ret;}int main(){int h,i,j,n,k;while(scanf("%d %d",&k,&h)!=EOF){priority_queue<int,vector<int>,greater<int> >que;while(k--){scanf("%d",&n);int num;while(n--){num=getval();if(que.size()<h)que.push(num);else if(que.size()>=h&&num>que.top()) {que.pop();que.push(num);}}}int sum=0;while(que.size()>h) que.pop();while(!que.empty()){sum+=que.top();que.pop();}printf("%d\n",sum);}return 0;}



热点排行