我把你的程序进行了检验,使用样例,发现你的程序RE在输出部分,使用size语句一看,发现ans长度输出得0。看来
```cpp
ans.push(sum);
```
这句语句一次也没有执行。
把代码改一下吧(不知道本蒟蒻熬夜帮大佬找bug多累吗QWQ)
by fgsdagds @ 2020-12-09 22:02:32
@[MLCabc](/user/329179)
by fgsdagds @ 2020-12-09 22:03:14
至于怎么改本蒟蒻就不想再熬夜了QWQ,自己慢慢弄吧,祝你AC
by fgsdagds @ 2020-12-09 22:05:57
stO @[zhanzhan_1217](/user/292707) Orz
by MLCabc @ 2020-12-11 21:35:41
自我考古(终一下贴)
原因在于没有pop(现在看来是毫无意义的错误)
```cpp
#include<iostream>
#include<queue>
using namespace std;
int a[100005],b[100005];
priority_queue <int,vector<int>,greater<int> > ans;
priority_queue <int> q;
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=1;i<=n;i++)
cin>>b[i];
for(int i=1;i<=n;i++)
q.push(a[1]+b[i]);
for(int i=2;i<=n;i++){
for(int j=1;j<=n;j++){
int sum=a[i]+b[j];
if(sum>q.top()){
break;
}
q.push(sum);
q.pop();
}
}
for(int i=1;i<=n;i++){
ans.push(q.top());
q.pop();
}
for(int k=1;k<=n;k++){
cout<<ans.top()<<" ";
ans.pop();
}
return 0;
}
```
by MLCabc @ 2022-05-08 21:08:34