JXNVCE ALGO-LOG YouJin Jung

BOJ-1927

min_heap 를 이용한 문제,,, 사실 구글링을 먼저했더니 헉했다… 이렇게 쉬운건가? 싶을 정도로 너무 잘 해두신 분들이 많아서, 이번에도 보고 배웠다 😱😂 switch도 오랜만에 보고, 큐 안에 저렇게 다양하게 벡터까지 넣어본 적도 처음… priority_queue 는 학교에서 직접 구현해서 써보기나 했지… 가져다가는 처음 써보는데, 역시…라이브러리가 좋구나~

#include <functional>
#include <vector>
#include <queue>
#include <iostream>  

using namespace std;

priority_queue<int, vector<int>, greater<int> > pq;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);

    int N;
    scanf("%d", &N);
    for (int i=0; i<N; i++) {
        int x;
        cin >> x;

        if (x!=0) pq.push(x);
        else {
            if (!pq.empty()) {
                cout << pq.top() << endl;
                pq.pop();
            }
            else cout << 0 << endl;
        }
    } 
    return 0;
}