코드
#include <iostream>
#include <queue>
using namespace std;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n;
cin >> n;
priority_queue<int> pq;
int a;
for(int i = 0; i < n; i++){
cin >> a;
if(a == 0){
if(pq.empty()){
cout << "0" << "\n";
continue;
}
else{
cout << pq.top() << "\n";
pq.pop();
}
}
else{
pq.push(a);
}
}
return 0;
}
알게된 점
그냥 priority queue로 풀면 된다.
나중에 최대힙을 구조체로 구현한번 해봐야겠다.
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
이거 꼭 써야 시간초과가 안난다.
'하루하나코딩' 카테고리의 다른 글
백준 1043 : 거짓말 c++ (0) | 2023.04.13 |
---|---|
백준 1927 : 최소 힙 c++ (0) | 2023.04.12 |
백준 14500 : 테트로미노 c++ (0) | 2023.04.12 |
백준 1748 : 수 이어 쓰기 (1) c++ (0) | 2023.04.12 |
백준 4375 : 1 c++ (0) | 2023.04.12 |