void add(int value) {
if (low.isEmpty() || value <= low.peek()) low.add(value);
else high.add(value);
if (low.size() > high.size() + 1) high.add(low.remove());
if (high.size() > low.size()) low.add(high.remove());
}
def add(value: int) -> None:
if not low or value <= -low[0]:
heappush(low, -value)
else:
heappush(high, value)
if len(low) > len(high) + 1:
heappush(high, -heappop(low))
if len(high) > len(low):
heappush(low, -heappop(high))
def add(value: Int): Unit =
if low.isEmpty || value <= low.head then low.enqueue(value)
else high.enqueue(value)
if low.size > high.size + 1 then high.enqueue(low.dequeue())
if high.size > low.size then low.enqueue(high.dequeue())
void add(int value) {
if (low.empty() || value <= low.top()) low.push(value);
else high.push(value);
if (low.size() > high.size() + 1) {
high.push(low.top());
low.pop();
}
if (high.size() > low.size()) {
low.push(high.top());
high.pop();
}
}