

#include <stdio.h>
#include <queue>
using namespace std;
int main()
{
int n;
priority_queue<int> pQ;
queue<int> Q;
while(true)
{
scanf("%d", &n);
if(n == 0)
{
if(pQ.empty())
printf("%d", -1);
else
{
Q.push(-pQ.top());
pQ.pop();
}
}
else if(n == -1)
{
while(!Q.empty())
{
printf("%d\n", Q.front());
Q.pop();
}
break;
}
else
{
pQ.push(-n);
}
}
return 0;
}
1. 최소힙의 경우에는 우선순위 큐에 넣을 때 부호를 바꿔서 넣고 꺼낼 때도 부호를 바꿔서 꺼낸다.
