Design a structure that accepts numbers one at a time and reports the median of all values seen.
A good solution should
- State the invariant or decision rule that makes the approach correct.
- Explain the time and space complexity in terms of the input sizes and required output.
- Handle empty, minimal, duplicate, and boundary-shaped inputs covered by the contract.
Reasoning prompt
Keep a max-heap for the lower half and min-heap for the upper half. Maintain size balance and ordering after each insertion.
Use the linked judge for the canonical problem. The examples above are compact TRT checks; write additional cases before submitting, especially for the boundary that tends to break your chosen invariant.