问题 B: 动态中位数问题

问题 B: 动态中位数问题

时间限制: 1 Sec  内存限制: 8 MB
提交: 986  解决: 187
提交 状态 算法问答 

题目描述

输入一组整数a1, a2, …, an ,每输入一个整数,输出到此时为止的中位数。

中位数定义:如果数串的大小是偶数 2j,中位数是从小到大排列的第 j 个数;如果数串的大小是奇数 2j+1,中位数是从小到大排列的第 j+1 个数。

输入

一组整数,数字和数字之间以空格隔开。

输出

一组整数,数字和数字之间以空格隔开。最后一个数后面也有空格。

第 i 个输出的整数,是前 i 个输入的中位数。

样例输入

-18 -2 14 -20 -6 7 2 14 11 6 

样例输出

-18 -18 -2 -18 -6 -6 -2 -2 2 2 

提示


时间复杂度请不要超过O(nlogn)。
由于输入输出的量会比较大,因此推荐使用c语言中的scanf和printf函数来进行输入输出,能比c++中cin和cout节省许多时间。

提交 状态