(백준 알고리즘 문제풀이) 11286번 절대값 힙
by 줌코딩
문제
어떻게 접근할 것인가?
- 힙의 비교 방법을 짜주면 끝!
heap 활용 코드
#include <cstdio>
#include <vector>
#include <queue>
#include <algorithm>
using namespace std;
struct cmp{
bool operator()(int a, int b){
if(abs(a) == abs(b)) return a > b;
return abs(a) > abs(b);
}
};
int main(){
int n, x;
priority_queue<int, vector<int>, cmp> pq;
scanf("%d", &n);
while(n--){
scanf("%d", &x);
if(x == 0){
if(pq.empty()) printf("0\n");
else printf("%d\n", pq.top()), pq.pop();
}
else pq.push(x);
}
}
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
Subscribe via RSS