[백준/C++] 11279번 최대힙

최대 1 분 소요

1.문제 링크

11279



2. 풀이 전 계획과 생각

  • 최대힙 자료구조 이용



3. 풀이

#include <iostream>
#include <queue>
using namespace std;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    
	priority_queue<int, vector<int>> q;
	int n; cin>>n;
    for(int i=0;i<n;i++){
        int temp; cin>>temp;
        if(temp==0){
            if(q.empty()) cout<<0<<'\n';
            else{
                cout<<q.top()<<'\n';
                q.pop();
            }
        }
        else{
            q.push(temp);
        }
    }
}

c++ stl에서 최대힙은 priority_queue<int, vector, less > q 혹은 priority_queue<int, vector > q로 사용할 수 있다.



4. 풀이하면서 고민했던 점

  • 시간 제한이 있었다. 계속 시간제한에 걸렸지만 ios_base::sync_with_stdio(false);와 cin.tie(nullptr);을 구현하니 통과했다.



5. 문제를 풀고 알게된 개념 및 소감

  • c++ stl 최대힙 사용법을 알게되었다.