최대 힙을 만드는 문제입니다.
최대 힙을 활용한 STL에 자료구조인 우선 순위 큐를 활용했습니다.
#include<iostream>
#include<queue>
using namespace std;
priority_queue<int,
vector<int>,
less<int>>pq;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
int N = 0;
cin >> N;
for (int i = 0;i < N;i++)
{
int _num = 0;
cin >> _num;
if (_num == 0)
{
if (pq.size() == 0)
{
cout << 0 << '\n';
}
else
{
cout << pq.top() << '\n';
pq.pop();
}
}
else
{
pq.push(_num);
}
}
return 0;
}