WA 1 求救!!!!!!!!!
查看原帖
WA 1 求救!!!!!!!!!
256996
かわいい子楼主2020/10/28 20:46
#include<iostream>
#include<cstdio>
#include<cmath>
#include<queue> 
#define maxn 1000001
using namespace std;
inline int read()
{
	int x=0;int k=1;char c=getchar();
	while(c<'0'||c>'9'){if(c=='-')k=-1;c=getchar();	}
    while(c>='0'&&c<='9'){x=(x<<1)+(x<<3)+(c^48);c=getchar();		}
    return x*k;
}
priority_queue<pair<int,int> > q; 
struct QWQ
{
	int num;
	int val;
};
QWQ B[maxn];
int A[maxn];
long long n;
int main()
{
	  n=read();
	  for(int i=1;i<=n;i++)
	  	A[i]=read();
	  for(int i=1;i<=n;i++)
	  {
	  	B[i].val=read();
	  	B[i].num=1;
	  	int w=B[i].val+A[1];
	  	q.push(make_pair(-w,i));
	  }
	  cout<<-q.top().first<<" ";
	  q.pop();
	  B[1].num++;
	  int w=A[B[1].num]+B[1].val;
	  //cout<<w<<"    ";
	  q.push(make_pair(-w,1));
	  for(int i=2;i<=n;i++)
	  {
	  	int numm=q.top().second;
	  	int w=-q.top().first;
	  	q.pop();
	  	cout<<w<<" ";
	  //	cout<<numm<<endl;
	  	B[numm].num++;
	  	int w1=A[B[numm].num]+B[numm].val;
	  	q.push(make_pair(-w1,numm));
	  }
} 

不知道哪里错了

2020/10/28 20:46
加载中...