救命,无论怎么改都是 CE ,救救孩子qwq。
#include<iostream>
#include<cstdio>
#include<queue>
using namespace std;
int n;
priority_queue<int>Q1;
priority_queue<int,vector<int>,greater<int>>Q2;
int main()
{
while(scanf("%d",&n)!=EOF)
{
while(!Q1.empty()) Q1.pop();
while(!Q2.empty()) Q2.pop();
while(n)
{
if(n==-1)
{
printf("%d\n",Q1.top());
Q1.pop();
}
else
{
if(Q1.empty()||n<=Q1.top()) Q1.push(n);
else Q2.push(n);
}
if(Q1.size()>(Q1.size()+Q2.size()+1)/2)
{
Q2.push(Q1.top());
Q1.pop();
}
else if(Q1.size()<(Q1.size()+Q2.size()+1)/2)
{
Q1.push(Q2.top());
Q2.pop();
}
scanf("%d",&n);
}
cout<<endl;
}
return 0;
}
/*
1
9
10
2
5
1
18
-1
-1
4
3
-1
8
7
-1
0
*/