728x90
https://www.acmicpc.net/problem/1927
C++의 priority_queue를 사용하면 된다.
#include <iostream>
#include <queue>
using namespace std;
int main() {
cin.tie(NULL);
ios_base::sync_with_stdio(false);
int n;
cin >> n;
priority_queue<int, vector<int>, greater<int>> q;
for (int i = 0; i < n; i++) {
int num;
cin >> num;
if (num == 0) {
if (q.empty()) cout << 0 << '\n';
else {
cout << q.top() << '\n';
q.pop();
}
}
else {
q.push(num);
}
}
return 0;
}
728x90
'알고리즘 문제' 카테고리의 다른 글
[백준] 1292번 쉽게 푸는 문제 (0) | 2020.02.24 |
---|---|
[백준] 수 정렬하기 3 (0) | 2020.02.24 |
[백준] 10569번 다면체 (0) | 2020.02.22 |
[백준] 2864 5와 6의 차이 (0) | 2020.02.22 |
[백준] 16637번 괄호 추가하기 (0) | 2020.02.21 |