#6815. 成绩统计分析
成绩统计分析
题目描述
某次考试后,老师记录了全班同学的成绩,所有成绩均为 到 之间的整数。现在需要你编写一个程序,对成绩进行全面的统计分析。请你利用成绩范围固定这一特点,高效地完成以下任务:
- 找出众数:出现次数最多的分数。如果有多个众数,返回其中分数最高的那个。
- 统计恰好出现 次的分数个数:计算有多少个不同的分数恰好出现了 次( 可能为 ,此时你需要统计从未出现过的分数个数)。
- 按频率排序:将所有出现次数大于 的分数,按照出现次数从高到低排序;次数相同的,按分数从高到低排序。输出排序后的分数序列。
输入格式
第一行包含两个整数 ,分别表示成绩个数和题目中给定的整数 。
第二行包含 个整数,表示每个同学的成绩,整数之间用空格分隔。
输出格式
一行,若干个整数,依次为:
众数、恰好出现 次的分数个数、以及任务 3 排序后的分数序列。
数字之间用空格分隔。
样例 #1
样例输入 #1
8 2
90 85 90 78 85 90 78 100
样例输出 #1
90 2 90 85 78 100
样例解释 #1
各分数出现次数:,,,,其余为 。
- 众数: 出现 次,唯一最多,返回 。
- 恰好出现 次的分数有 和 ,共 个。
- 出现次数 的分数排序:( 次)最前, 和 同为 次,按分数从高到低为 ,最后是 ( 次)。序列为 。
合并输出:90 2 90 85 78 100。
样例 #2
样例输入 #2
5 1
60 60 70 70 80
样例输出 #2
70 1 70 60 80
样例解释 #2
计数:,,。
- 众数: 和 同出现 次,取分数高的 。
- 恰好出现 次的分数:只有 ,共 个。
- 排序: 和 ( 次),按分数降序为 ;再是 ( 次)。序列 。
合并输出:70 1 70 60 80。
样例 #3
样例输入 #3
3 0
90 90 90
样例输出 #3
90 100 90
样例解释 #3
计数:,其余 的分数均出现 次。
- 众数:。
- 恰好出现 次的分数: 和 共 个不同的分数。
- 出现次数 的分数只有 ,序列为 。
合并输出:90 100 90。
数据范围与提示
- 对于 的数据,,,。