문제설명
입출력 예제
개념
주어진 문제는 우선순위 큐의 기본적인 연산을 이해하고 있는지 묻는 문제다. 따라서 우선순위 큐를 최대 힙으로 정렬한 후, 문제의 요구 사항에 맞게 입출력을 조절하면 풀 수 있다.
풀이
#include <iostream>
#include <queue>
using namespace std;
int main()
{
ios::sync_with_stdio(false); cin.tie(nullptr);
int N, n;
priority_queue<int> pq;
cin >> N;
while (N--)
{
cin >> n;
if (n == 0)
{
if (pq.empty())
printf("0\n");
else
{
printf("%d\n", pq.top());
pq.pop();
}
}
else
pq.push(n);
}
}
특이 사항으로는 시간 초과 문제를 해결하기 위해 c언어 문법을 빌려왔다.
반응형
'Algorithm > 백준' 카테고리의 다른 글
[백준] 11286 절댓값 힙 with C++ (0) | 2023.05.23 |
---|---|
[백준] 1927 최소 힙 with C++ (0) | 2023.05.22 |
[백준] 16139 인간-컴퓨터 상호작용 with C++ (0) | 2023.05.20 |
[백준] 5430 AC with C++ (0) | 2023.05.19 |
[백준] 1021 회전하는 큐 with C++ (0) | 2023.05.18 |