[백준] 11286 절댓값 힙 (c++)
2022. 7. 10. 20:00ㆍ알고리즘/백준
728x90
https://www.acmicpc.net/problem/11286
11286번: 절댓값 힙
첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0
www.acmicpc.net
#include <iostream>
#include <queue>
#include <vector>
using namespace std;
struct comp {
bool operator()(int a, int b) {
if (abs(a) == abs(b)) {
return a > b;
}
else {
return abs(a) > abs(b);
}
}
};
priority_queue<long long int, vector<long long int>, comp>pq;
long long int count_mius[100001];
long long int result;
long long int n, m;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> n;
long long int k;
for (long long int i = 0; i < n; i++) {
cin >> k;
if (k == 0) {
if (pq.empty()) {
cout << '0' << '\n';
}
else
{
cout << pq.top() << '\n';
pq.pop();
}
}
else {
pq.push(k);
}
}
}
https://travelbeeee.tistory.com/126
[C++] STL Priority_Queue Library 기본 명령어 정리
안녕하세요, 여행벌입니다. 오늘은 우선순위큐(Priority Queue)에 대해서 알아보도록 하겠습니다. 1. Priority_Queue(우선순위큐) 란? Priority_Queue는 Queue의 한 종류로 이름 그대로 우선순위에 따라 정렬된
travelbeeee.tistory.com
https://j3sung.tistory.com/268
[C++] 백준 11286번 절댓값 힙
우선순위 큐에서 값을 뽑아낼 때 절대값이 낮은 순대로 뽑는 문제입니다. 절댓값을 기준으로하여 내림차순으로 뽑아야하므로 다음처럼 선언해줍니다. priority_queue , vector >, greater > > pq; pair
j3sung.tistory.com
풀어보고 다양한 방법이 있을거 같아서 찾아봤는데 여러가지방법중에서 제일 신기한방법. (머리진짜 좋다)
728x90
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 10988 python 팰린드롬인지 확인하기 (3가지 방법) (0) | 2023.01.25 |
---|---|
[백준] 7662 이중 우선순위 큐 (0) | 2022.07.11 |
[백준] 연결 요소의 개수 c++ (0) | 2022.07.09 |
[백준] 1927 최소 힙 c++ (0) | 2022.07.08 |
[백준] 1780 종이의 개수 (c++) (0) | 2022.07.07 |