728x90
반응형
1. 문제
https://www.acmicpc.net/problem/11286
2. 풀이
우선순위 큐 비교 컨테이너를 직접 만들어서 껴주면 된다.
3. 코드
#include <iostream>
#include <queue>
#include <vector>
using namespace std;
struct Compare {
bool operator()(int a, int b) const {
if(abs(a) == abs(b)) return a > b;
return abs(a) > abs(b);
}
};
priority_queue<int, vector<int>, Compare > absHeap;
int n, input;
int main() {
cin.tie(nullptr);
ios::sync_with_stdio(false);
cin >> n;
for(int i=0; i<n; i++) {
cin >> input;
if(input == 0) {
if(absHeap.empty()) cout << "0\n";
else {
cout << absHeap.top() << "\n";
absHeap.pop();
}
}
else absHeap.push(input);
}
return 0;
}
728x90
반응형
'💡 Problem Solving > Baekjoon' 카테고리의 다른 글
[백준 - 7490] 0 만들기 [C++] (0) | 2023.10.19 |
---|---|
[백준 - 1629] 곱셈 [C++] (0) | 2023.10.19 |
[백준 - 1931] 회의실 배정 [C++] (0) | 2023.10.17 |
[백준 - 1541] 잃어버린 괄호 [C++] (0) | 2023.10.16 |
[백준 - 15829] Hashing [C++] (0) | 2023.10.14 |