priority_queue
를 선언하는 방법은 아래와 같다.
#include<queue>
priority_queue<자료형, 구현체, 비교연산자> pq;
비교연산자의 경우 default가 오름차순이며
내림차순의 경우 greater<int>
로 바꿔주면 된다.
#include <iostream>
#include <queue>
#include <vector>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int n, num;
cin >> n;
priority_queue<int, vector<int>, greater<int>> q;
for (int i = 0; i < n; i++) {
cin >> num;
if (num == 0) {
if (q.empty()) {
cout << "0\n";
}
else {
cout << q.top() << "\n";
q.pop();
}
}
else {
q.push(num);
}
}
return 0;
}