Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
1A留念#include <iostream> #include <cstdio> #include <algorithm> #include <memory.h> #include <queue> using namespace std; const int MAX=2001; int aseq[MAX+1]; int tempseq[MAX+1]; struct e { int v; int id; }; struct cmp { bool operator() (e a,e b) { return a.v>b.v; } }; int main() { int rounds; int m,n; scanf("%d",&rounds); while(rounds--) { //读入一个seq到aseq中,将其排序 scanf("%d%d",&m,&n); for(int i=1;i<=n;i++) scanf("%d",&aseq[i]); sort(aseq+1,aseq+n+1); //读入第二个seq,与aseq[1]想加加入到优先队列中 priority_queue<e,vector<e>,cmp>mq; for(int i=2;i<=m;i++) { while(mq.empty()==false) mq.pop(); e temp; temp.id=1; for(int i=1;i<=n;i++) { scanf("%d",&temp.v); temp.v+=aseq[1]; mq.push(temp); } for(int i=1;i<=n;i++) { temp=mq.top(); mq.pop(); int k=aseq[temp.id]; tempseq[i]=temp.v; temp.v=temp.v-k+aseq[temp.id+1]; temp.id++; mq.push(temp); } memcpy(aseq,tempseq,sizeof(aseq)); } for(int i=1;i<=n;i++) cout<<aseq[i]<<" "; cout<<endl; } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator