模板

priority_queue<int> l;
priority_queue<int, vector<int>, greater<int>> r;
void insert(int x) {
if (!l.size() || x <= l.top()) l.push(x);
else r.push(x);
if (l.size() > r.size() + 1) r.push(l.top()), l.pop();
if (r.size() > l.size()) l.push(r.top()), r.pop();
}
讲解视频:
https://www.acwing.com/video/1663/