luogu_1631 序列合并

#include<cstdio>  
#include<queue>   
using namespace std;
int a[100005],b[100005],to[100005],i,n;
priority_queue<pair<int,int>,vector<pair<int,int> >,greater<pair<int,int> > >q;
int main(){
    scanf("%d",&n);
    for(i=1;i<=n;i++)scanf("%d",&a[i]);
    for(i=1;i<=n;i++){
        scanf("%d",&b[i]); to[i]=1;
        q.push(pair<int,int>(a[1]+b[i],i));
    }
    while(n--){
        printf("%d ",q.top().first);
        i=q.top().second; q.pop();
        q.push(make_pair(a[++to[i]]+b[i],i));
    }
    return 0;
}

  

posted @ 2017-10-11 20:56  wqtnb_tql_qwq_%%%  阅读(96)  评论(0编辑  收藏  举报