dpfs @ 2023-08-18 22:20:48
rt 为什么第18行编译失败?
#include<bits/stdc++.h>
using namespace std;
priority_queue<int,vector<int> > q1;
priority_queue<int,vector<int>,greater<int> > q2;
int main()
{
int n;
cin>>n;
int l;
cin>>l;
q1.push(l);
cout<<q1.top()<<endl;
for(int i=2;i<=n;i++)
{
cin>>l;
if(l>q1.top()) q2.push(l);
else q1.push(l);
while(abs(q1.size()-q2.size())>1)
{
if(q1.size()>q2.size())
{
int k=q1.top();
q1.pop();
q2.push(k);
}
else
{
int k=q2.top();
q2.pop();
q1.push(k);
}
}
if(i%2==1)
{
cout<<(q1.size()>q2.size()?q1.top():q2.top())<<endl;
}
}
return 0;
}
by Sprague_Garundy @ 2023-08-18 22:26:30
@dpfs 你这 size 返回值是 size_t 类型,相减无符号,abs 不对了吧
by dpfs @ 2023-08-18 22:37:26
哦 谢谢大佬