#HT1059. 积分统计

积分统计

题目描述

千夜老师举办了一个比赛,让同学们做了 55 道题,每天一道,并采用积分的方式排名。

对于每道题来说,按照当天完成的顺序,前五名分别能得到 5,3,1,1,15,3,1,1,1 分。每个人的积分为所有题的得分之和。

现在千夜老师想知道所有获得了积分的人的排名,请你帮他计算一下吧。

输入格式

输入共五行,分别表示五天的情况。

每行第一个数 kk 表示当天有 kk 名同学完成了当天的题目。这行接下来会空格隔开 kk 个字符串,即按完成顺序的 kk 名同学的名字。

输出格式

输入若干行,即所有获得过积分的同学,每行空格隔开的人名和积分。

按积分从大到小排序,积分相同的按名字字典序从小到大排序。

样例

4 zly lyn lxm ybw
5 zly xhg ybw lyn lxm
7 zly xhg lyh lxm lyn ybw yhj
6 lyn yhj zly xhg lxm ybw 
5 lyn zly ybw lxm lyh
zly 19
lyn 15
xhg 7
lxm 5
ybw 3
yhj 3
lyh 2
6 a b c d e f
6 a b c d e f
6 a b c d e f
6 a b c d e f
6 a b c d e f
a 25
b 15
c 5
d 5
e 5

数据范围

对于 100%100\% 的数据,1k2001\le k\le 200

所有同学名字长度不超过 1010 个字符,由小写英文字母字符组成,且所有同学名字都不一样,即如果出现了同样的名字就是同一位同学。

提示

字典序

string a, b;
...
if (a < b)
{
    cout << "a 的字典序小于 b\n"; 
}
else if (b < a)
{
    cout << "b 的字典序小于 a\n"; 
}
else
{
    cout << "a、b 相等\n"; 
}