‹ 上一题 下一题 ›

g5-08232. 中位数流 未做

1000 ms 256 MB 测试点 10 通过率 100% GESP-55级·STLpriority_queue

题目描述

数据流里依次到来 个整数。每读入一个,输出当前已读入所有数的中位数:把已读的数从小到大排好,取第 个( 为当前个数,位置从 数起)——奇数个时是正中间,偶数个时是中间两个里较小的那个。

双堆技法:用一个大根堆装较小的一半、一个小根堆装较大的一半,两堆元素个数始终满足「左堆等于右堆,或恰好多 」。中位数就是左堆的堆顶。

输入格式

第一行一个整数 ()。

第二行 个整数 (),依次到来。

输出格式

共 行,第 行一个整数:读入前 个数后的中位数。

样例

输入:

4
5 1 4 2

输出:

5
1
4
2

读入 4 个数后排序为 1 2 4 5,中间偏小的是 2;逐步答案见样例。

数据范围

,。提示:偶数个时答案是左堆堆顶(较小中位)——取到右堆堆顶就是取了较大的那个,偶数步的答案会整体偏大。

输入
输出

            
答案