排名系统

TimeLimit:5000MS  MemoryLimit:128MB
64-bit integer IO format:%lld
未提交 | 登录后收藏
Problem Description

任务三:

前面的任务你应该没问题吧,第三个任务是非常重要的,希望你能认真完成。排名系统,是OJ的核心功能啦,如果这个不会做的话,可有点严重了。


排名系统是根据ICPC规则对参赛队排名的成绩,进行排序。


提交数据有n条,每条记录有四个值,分别是 用户名、题号、通过与否、提交时间。

输出根据排行榜规则输出排行榜。规则同ICPC排名规则。

Input

输入多组数据。每组数据格式如下:

第一行是两个整数n(1<=n<=100000),m(1<=m<=20),分别表示提交数量和题目总数。

接下来是n行,每行表示一个提交。


提交数据格式:

username pid result time

username是一个长度不超过15的字符串,是唯一标示,username相同的提交数据是同一个用户提交的。

pid是一个数字,从1开始。

result是一个数字,0标示提交未通过,1标示通过。

time是一个数字,表示这个提交是在距离比赛开始时间time秒提交的。输入保证一秒内最多只有一个提交。


注意:提交数据的顺序是错乱的。

Output

每组数据先输出“Case #x:”,x表示当前测试数据的组数。

接下来是多行,行数是所有有提交记录的用户。每行有m+4列,用一个空格分隔。

每行格式:

第一列是用户的排名,是一个数字,从1开始递增。

第二列是用户名。

第三列是这个用户解决的题目数。

第四列是这个用户的罚时,罚时=通过的题目的时间总和+通过题目的总错误次数*20。

    并且如果某个错误的提交是在通过这题之后,则不计算入错误次数。

接下来的m列是每道题的提交情况。

    如果这题通过,则用x(-y)表示,x表示当前题目第一次通过的时间,y表示通过这题之前的错误的次数。

    如果这题未提交过,则用0表示。

    如果这题提交了但是未通过,则用-y表示,x表示当前题目的错误次数


排名规则:用户解决题目的数量多的排名靠前。

    解决题目数量相同的,罚时短的排名靠前。

    罚时相同的,根据用户名的字典序,字典序小的靠前。

SampleInput
6 2
admin 1 1 360
admin 2 1 1000
syiml 1 0 350
syiml 1 1 600
syiml 1 0 601
syiml 1 1 602
SampleOutput
Case #1:
1 admin 2 1360 360(-0) 1000(-0)
2 syiml 1 620 600(-1) 0
Submit
题目统计信息详细
总AC数24
通过人数12
尝试人数13
总提交量70
AC率17.14%
AC该题后可以添加标签
贴完标签可以获得20ACB。
并且可以获得本题所有提交代码查看权限。
点击标题可以显示标签。
如果你还没认真思考过这题,请不要查看标签
如果您已经通过了该题,请务为该题贴上标签
作者

T^T Online Judge

[BUG反馈] [FAQ] [闽ICP备17026590号-1]
当前版本:3.24 系统时间: