C++之2275 - 有序表的最小和
2022-05-31 21:00 作者:WinOS-Explorer | 我要投稿
using namespace std;int a[400005],b[400005];struct num{ int number,i,j; friend bool operator>(num a,num b){ return a.number>b.number; } };int main(){ int n; cin>>n; for(int i=1;i<=n;i++){ scanf("%d",&a[i]); } for(int i=1;i<=n;i++){ scanf("%d",&b[i]); } priority_queue<num,vector<num>,greater<num> >q; for(int i=1;i<=n;i++){ q.push({a[i]+b[1],i,1}); } for(int i=1;i<=n;i++){ printf("%d\n",q.top().number); int x=q.top().i,y=q.top().j; q.pop(); if(y+1<=n){ q.push({a[x]+b[y+1],x,y+1}); } } return 0; }
標(biāo)簽: