728x90
0. [c++] 백준 - |
https://www.acmicpc.net/problem/11286
1. 풀이 |
https://kyunstudio.tistory.com/242(최소 힙) 과 거의 동일하다.
단지 pair를 활용해 절대값인 값과 현재 자신의 값을 동시에 유지해주면 성공이다.
2. 소스코드 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #include<iostream> #include<queue> #include<functional> //greater를 사용하기 위해 선언 using namespace std; int main() { cin.tie(0); cin.sync_with_stdio(0); int N, num; cin >> N; //<data tape, container type, 정렬 기준> priority_queue<pair<int, int>, vector<pair<int, int> >, greater<pair<int, int> > > pq; for (int i = 0;i < N;i++) { cin >> num; if (num) { pq.push({ abs(num), num }); } else { if (pq.empty()) cout << 0 << "\n"; else { cout << pq.top().second << "\n"; pq.pop(); } } } return 0; } | cs |
3. 참고 |
질문이나 지적 있으시면 댓글로 남겨주세요~
도움 되셨으면 하트 꾹!
'<백준> > 우선순위 큐' 카테고리의 다른 글
[C++] 백준 1655 - 가운데를 말해요(우선순위 큐를 적용해야 하는데, 이분 탐색 활용) (0) | 2020.02.12 |
---|---|
[C++] 백준 1927 - 최소 힙(min heap, functional) (0) | 2020.02.12 |
[C++] 백준 11279 - 최대 힙(우선순위 큐, 힙) (0) | 2020.02.12 |