시간 초과가 나면 cin.tie(NULL);과 ios::sync_with_stdio(false);를 추가해준다.
C++에서 우선순위 큐의 라이브러리 기본 명령어는 #include <queue>이고,
우선순위 queue를 선언하는 방법으로는
1. priority_queue<자료형> q;
priority_queue<int> q;
2. priority_queue<자료형,컨테이너,비교함수> q;
priority_queue<int,vector<int>,greater<int>> q;
이렇게 선언할 수 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#include <queue>
#include <iostream>
using namespace std;
int main() {
cin.tie(NULL);
ios_base::sync_with_stdio(false);
priority_queue <int,vector<int>,greater<int>> q;
int N;
cin >> N;
for (int i = 0; i < N; i++) {
int tmp;
cin >> tmp;
if (tmp != 0) {
q.push(tmp);
}
else {
if (q.empty()) cout << 0 << '\n';
else {
cout << q.top() << '\n';
q.pop();
}
}
}
return 0;
}
|
cs |