Problem2379--乐乐的礼物

2379: 乐乐的礼物

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MB

Description

圣诞节到了,乐乐所在的班准备搞一个圣诞晚会,晚会的其中一个环节是全班同学互送礼物。已知每个同学都准备了一些钱来送礼物,而这些钱将会被平均分给那些将收到他的礼物的人。有些人准备了较多的钱,有些人准备了较少的钱。现在乐乐想知道晚会结束后哪些同学收到的礼物的总价值最大(包含无法送出的钱)。

输入格式

1行一个整数n,表示乐乐所在的班的人数(2≤n≤100);

2至n+1行(n行),按班里的学号顺序给出每个同学的姓名。(姓名只包含大写或小写字母,姓名的长度不超过10个字母);

n+2至2*n+2行(n行),按学号顺序给出每个同学送礼物的信息:第一个是整数m(0≤m≤5000),表示该同学准备用来送礼的钱;第二个是整数k(0≤k≤20),表示该同学准备把钱平均分给k个好朋友(给每个朋友的钱都是整数,并尽量全部用完,剩下无办法再分的钱自己保留);接着是k个姓名,每个姓名之间用一个空格分开,表示要分给哪k个朋友。


输出格式

输出文件有n行,按最后的钱数从大到小的顺序输出每个同学的姓名和钱数。如果钱数相同的按学号顺序从小到大输出。

输入/输出例子1

输入:

5

Dave

laura

owen

vick

amr

200 3 laura owen vick

500 1 Dave

150 2 vick laura

600 1 amr

0 0

输出:

amr 600

Dave 502

laura 141

vick 141

owen 66

样例解释

Dave的200元分给了3人,每人66元,剩下2元,还收到了2号给他的500元,因此他最后有502元。

laura的500元给了同学,收到1号给他的66元和3号给他的75元,他最后有141元。

owen的150元给了2人,每人75元,收到1号给他的66元,他最后有66元。

vick的600元给了同学,收到1号给他的66元和3号给他的75元,他最后有141元。

amr没钱给人,收到5号给他的600元,他最后有600元。

Source/Category