최대 힙 11279

PublicMinsu·2023년 8월 27일
0

문제

접근 방법

0이 아닌 값은 우선순위 큐에 집어넣어 주고
0인 값일 경우 비어있다면 0 아니라면 우선순위 큐의 값을 출력하면 된다.

코드

#include <iostream>
#include <queue>
using namespace std;
int N, i;
priority_queue<int> pq;
int main()
{
    ios::sync_with_stdio(0), cin.tie(0);
    cin >> N;
    while (N--)
    {
        cin >> i;
        if (i)
            pq.push(i);
        else if (pq.empty())
            cout << 0 << "\n";
        else
            cout << pq.top() << "\n", pq.pop();
    }
    return 0;
}

풀이

우선순위 큐를 사용하면 된다.

profile
연락 : publicminsu@naver.com

0개의 댓글