#include <iostream>
#include <queue>
#include <functional>
#define INT long long int
using namespace std;
INT n;
int main()
{
ios_base :: sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
priority_queue<INT, vector<INT>, greater<INT> > p;
priority_queue<INT> q;
cin >> n;
for(int i=0; i<n; i++)
{
INT m = 0;
cin >> m;
if(q.empty())
{
q.push(m);
}
else{
if(p.size() + 1 == q.size() || p.size() + 2 == q.size())
{
p.push(m);
if(q.top() > p.top())
{
INT qq = q.top();
INT pp = p.top();
q.pop();
p.pop();
q.push(pp);
p.push(qq);
}
}
else{
q.push(m);
if(q.top() > p.top())
{
INT qq = q.top();
INT pp = p.top();
q.pop();
p.pop();
q.push(pp);
p.push(qq);
}
}
}
cout << q.top() << "\n";
}
return 0;
}
-우선순위 큐
'코딩 일지 > baekjoon' 카테고리의 다른 글
2447 (0) | 2023.12.28 |
---|---|
12865 - 평범한 배낭 (0) | 2023.08.17 |
1463 - 1로 만들기 (0) | 2023.02.11 |
2839 설탕 배달 (0) | 2023.02.11 |
4676 셀프넘버 (0) | 2023.02.11 |