题目描述
工程师小王想要从海量的网络数据中,筛选出忙时数据。由于是海量数据,小王没办法对海量数据进行排序,再取topN的忙时数据(将数据从大到小排序,取前 N个)。聪明的小王想到了使用固定大小的优先级队列来进行数据筛选。为了场景简化,我们用正整数集来表示海量的网络数据,同时只取N个忙时数据,也即只取 N个最大的正整数。针对每一批数据输入,单独输出一行结果,直接将N个正整数拼接完完整的一行字符串输出即可。
解答要求
时间限制:C/C++500ms,其他语言:1000ms
内存限制:C/C++100MB,其他语言:200MB
输入
第一行是正整数N和M,N为忙时个数,取值范围[1,24),M为输入的数据行数,范围[1,1000];
接下来M行,每行两个正整数A,B,以空格分隔,表示有A个重复的正整数B,A、B的取值范围[1,2147483647],如:
3 5
1 5
6 3
2 2
5 4
1 6
输出
输出每增加一批数据对应的队列结果,直接将队列里的所有数据集从大到小拼接成字符串输出。
如上例输入的输出为:
第一次输入1个5,则队列输出为5第二次输入6个3,则队列输出为533第三次输入2个2,则队列输出为533第四次输入5个4,则队列输出为544第五次输入1个6,则队列输出为654所以最终的输出结果为:
5
533
533
544</