问题3157--讨厌数论和模拟

3157: 讨厌数论和模拟

时间限制: 1 Sec  内存限制: 512 MB
提交: 51  解决: 21
[状态] [讨论版] [提交] [命题人:]
题目描述
在模拟郑州轻工业大学2023级新生程序设计大赛暨省内高校邀请赛的比赛过程中,参赛队伍会提交题目解答并等待评测系统返回结果。这种情景下,排名查询系统变得至关重要。
系统接收一系列提交记录,每条记录包括队名、提交时间和题目状态(Accepted,Wrong Answer,Time Limit Exceeded,Memory Limit Exceeded,Runtime Error)。除了提交记录外,还会有队伍查询自己在排名中的请求。
你需要实现一个排名查询系统,对于每个查询请求,输出该队伍在当前时刻的排名。提交记录按时间顺序给出。

 排名细则

所有参赛队按照解题数多少进行排名,解题数多的排名在前;若解题数相同,再比较总用时,总用时少的排名在前;若解题数和总用时都相同,则排名并列。
总用时为所有解出的赛题所用时间之和;每道赛题的用时是从竞赛开始到该题解答第一次被判定为正确的提交时间为止,其间每一次被判为错误的提交将被加罚20分钟时间,没有解出的赛题不记罚时。
输入
第一行一个整数 T (1 <= T <= 5000),表示有 T 行数据。
接下来 T 行,每行有 2 或 5 个数据,表示一个操作,具体如下:
`1 team time problem status` 表示`team`在`time`时间提交了`problem`题,提交反馈为`status`
`2 team` 表示查询 `team` 的排名
`team` 是字符串,长度不超过10,且仅包含小写字母。
`time` 是整数,0 <= time <= 179,表示已用时
`problem`是单字符,表示题号,'A'  <= problem <= 'M'
`status`是字符串,表示提交反馈,只有 `"AC","RE","TL","WA","ML"` 五种状态,且仅有"AC"表示正确通过,其余皆表示没有通过。
输出
对于每个操作2,输出当时他们的队伍排名。
样例输入 Copy
8
2 jiangly
2 vpmaster
1 jiangly 0 A TL
1 jiangly 5 A AC
1 vpmaster 17 M AC
2 jiangly
2 vpmaster
2 hahaha
样例输出 Copy
1
1
2
1
3
提示

样例2

输入

10
1 hahaha 0 B AC
1 akwf 10 B AC
1 hahaha 100 H RE
2 akwf
1 hahaha 125 L WA
1 hahaha 136 H ML
1 hahaha 149 H AC
1 akwf 179 L AC
2 hahaha
2 akwf

输出

2
1
1

样例3

输入

6
1 jiangly 7 J AC
1 vpmaster  17 B AC
1 jiangly 29 J TL
1 vpmaster 100 B AC
2 vpmaster
2 jiangly

输出

2
1