莫名全RE

P1631 序列合并

我把你的程序进行了检验,使用样例,发现你的程序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


|