wiki1245-最小的N个和

来源:互联网 发布:知乎回答能删除吗 编辑:程序博客网 时间:2024/05/21 09:56
#include<cstdio>#include<queue>#include<algorithm>using namespace std;int n,a[100000+10],b[100000+10];typedef pair <int ,int> pii;priority_queue < pii, vector< pii >, greater< pii > > q;int main(){int n;scanf("%d",&n);for(int i=1;i<=n;i++) scanf("%d",&a[i]);for(int i=1;i<=n;i++) scanf("%d",&b[i]);sort(a+1,a+1+n);sort(b+1,b+1+n);for(int i=1;i<=n;i++) q.push(make_pair(a[i]+b[1],1));for(int i=1;i<=n;i++){pii t=q.top();q.pop();printf("%d ",t.first);q.push(make_pair(t.first-b[t.second]+b[t.second+1],t.second+1));}return 0;}