#5291. 成绩单(result.cpp/in/out)
成绩单(result.cpp/in/out)
【问题描述】
又考试了,这次考试的人数特别多,每个人的学号很特别,是用字符串表示的(不超过30 位),每次考试结束后,成绩统计是一件很重要的事情。老师们都很关心学生的成绩,于是他们把学生的成绩按学号排列(字典顺序,学号全为小写字母,从小到大排列)(不排成绩),并统计各个分数,及分数段的人数,以及满分人员(满分要奖励XXX奖学金的)。
【输入数据】
第一行:一个数n (n<=130000 人)。
以下n 行:每行两个信息,分别为学号,分数(1~150 分)。
【输出数据】
第一行:各个分数段(空格隔开)(例如1~10 11~20 „„(见例样,不包括150 分的人数)。
第二行:各个分数段的人数(空格隔开,没有则输出0)。 接下来的n 行,分别为n 个学生的学号,成绩,(空格隔开)。
再接下来的一行为满分的人的人数x(如果没有则为0)(保证x 不超过10000)。
接下来的x 行为满分人的学号(如果x 为0 则为一行‘No’)(按字典序从小到大排序)。
注意:一行若有多个数据,每一个数据之间用空格隔开,最后一个数据后不允许有空格。
分数段中没有0 分和150 分的。
【样例输入】
3
bid 50
wxy 85
alc 55
【样例输出】
1~9 10~19 20~29 30~39 40~49 50~59 60~69 70~79 80~89 90~99
100~109 110~119 120~129
130~139 140~149
0 0 0 0 0 2 0 0 1 0 0 0 0 0 0
alc 55
bid 50
wxy 85
0
No