Recent Posts
Notice
No Rules Rules
절댓값 힙 (feat. 백준, 11286번) 본문
728x90
반응형
절댓값 힙
https://www.acmicpc.net/problem/11286
11286번: 절댓값 힙
첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0
www.acmicpc.net
반응형
// woohyeon.kim
// kim519620.tistory.com
#include <iostream>
#include <queue>
#include <vector>
#include <cmath>
using namespace std;
struct Cmp {
bool operator()(const int& v1, const int& v2) const {
if (abs(v1) == abs(v2))
return v1 > v2;
return abs(v1) > abs(v2);
}
};
int main() {
ios::sync_with_stdio(false), cin.tie(NULL);
priority_queue<int, vector<int>, Cmp> ans;
register int N;
cin >> N;
for (register int i = 0, v; i < N; ++i) {
cin >> v;
if (v == 0)
if (ans.empty())
cout << 0 << "\n";
else
cout << ans.top() << "\n", ans.pop();
else
ans.push(v);
}
return 0;
}
// *&)*@*
자료구조 우선순위큐의 predicate를 직접 정의하여 삽입하고 출력합니다.
728x90
반응형
'생활 > 코테' 카테고리의 다른 글
행렬 곱셈 순서 (feat. 백준, 11049번) (0) | 2022.08.16 |
---|---|
가운데를 말해요 (feat. 백준, 1655번) (0) | 2022.08.16 |
최소 힙 (feat. 백준, 1927번) (0) | 2022.08.16 |
최대 힙 (feat. 백준, 11279번) (0) | 2022.08.16 |
행렬 제곱 (feat. 백준, 10830번) (0) | 2022.08.15 |
Comments