반응형
https://www.acmicpc.net/problem/1927
요약 )
- 첫 번째 줄에 입력할 수는 배열의 크기를 입력한다
- 이후 두 번째 입력하는 자연수수들은 입력한 순서대로 배열에 넣는다.(추가한다)
- 만일, 입력한 수가 0이라면 배열에서 가장 작은 값을 출력하고 그 값을 그 배열에서 제거한다
- 0을 제외한 0 이상의 수를 입력할 수 있고, 음의 정수는 입력으로 주어지지 않는다
- 만일 배열이 비어 있는데 0을 입력한다면 0을 출력한다
#include <iostream>
#include <queue>
#include <vector>
using namespace std;
int main()
{
int n;
scanf("%d", &n);
priority_queue<int, vector<int>, greater<int>> pq;
for(int i= 0; i<n ; i++) {
int input;
scanf("%d", &input);
if (input == 0) {
if (pq.empty()) printf("0\n");
else {
printf("%d\n", pq.top());
pq.pop();
}
}
else pq.push(input);
}
return 0;
}
'C++' 카테고리의 다른 글
(C++) [백준] 도비의 난독증 테스트 (0) | 2023.01.10 |
---|---|
(C++) [백준] 수 정렬하기 (0) | 2023.01.10 |
(C++) [백준] 카드1 (0) | 2023.01.10 |
(C++) [백준] 큐 (0) | 2023.01.10 |
(C++) [백준] 괄호(Parenthesis) (0) | 2023.01.10 |