Algorithm/C++ - BOJ

BOJ/백준 - 1927 최소힙 C++

ㅇㅇ잉 2021. 2. 2. 11:38

시간 초과가 나면 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