‹ 上一题 下一题 ›

g5-08231. 词频前 k 未做

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

题目描述

读入 个整数(值都在 到 之间),统计每个值出现的次数,输出出现次数最多的 个值:按次数从多到少排;次数相同的,值小的在前。每行输出「值 次数」(空格分隔)。数据保证不同值的个数至少为 。

做法:先用数组按值计数,再把每个出现过的值编码进大根堆——次数乘 放高位,低位放 减去值:次数相同时,值小的编码反而大,先弹出的就是它。

输入格式

第一行两个整数 、()。

第二行 个整数 ()。

输出格式

共 行,每行两个整数「值 次数」,按次数从多到少、同次数值从小到大排列。

样例

输入:

7 3
4 4 2 2 2 9 9

输出:

2 3
4 2
9 2

2 出现 3 次最多;4 和 9 都出现 2 次,值小的 4 排前。

数据范围

,。提示:编码低位放 值还是放值,决定同次数时谁先弹出——方向写反,平局全错。

输入
输出

            
答案