BOJ-1927
13 Aug 2021min_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;
}