class Solution {
public:
priority_queue<int, vector<int>, greater<int>> minHeap;
priority_queue<int> maxHeap;
int count = 0;
void Insert(int num) {
count += 1;
maxHeap.push(num);
minHeap.push(maxHeap.top());
maxHeap.pop();
if (count & 1) {
maxHeap.push(minHeap.top());
minHeap.pop();
}
}
double GetMedian() {
if (count & 1) {
return maxHeap.top() ;
} else {
return (maxHeap.top() + minHeap.top()) * 1.0 / 2;
}
}
};