QOJ.ac

QOJ

시간 제한: 1.0 s 메모리 제한: 1024 MB 총점: 100 해킹 가능 ✓

#17266. Guaranteed Medal

통계

正如你所知道的,组队程序设计竞赛通常遵循相同的一套规则:有 $t$ 支参赛队伍,每队 3 人;有 $p$ 道题目,用前 $p$ 个大写英文字母表示;以及 5 小时的时间,每队使用 1 台电脑来解决这些题目。为了确定最终排名,队伍将按照以下标准的优先级顺序进行比较:

  • 解决题目数量较多的队伍排名靠前。
  • 罚时较少的队伍排名靠前。罚时的定义是该队伍所有已解决题目的以下数值之和:从比赛开始到首次正确提交该题的时间(以分钟为单位),加上在该正确提交之前每次错误提交所带来的 20 分钟罚时。
  • 拥有更早的“决定性提交”(decisive submission)的队伍排名靠前。如果一支队伍总共解决了 $n$ 道题,那么使其获得第 $n$ 个通过题目的那次提交就是决定性提交。

最近,一项大型锦标赛圆满结束,前 12 名的队伍获得了奖牌。如果对于队伍 $T$,在移除其在提交 $S$ 之后的所有提交后,该队伍仍能获得奖牌,但如果连同 $S$ 本身也一起移除,则会导致 $T$ 无法获得奖牌,那么我们就说队伍 $T$ 通过提交 $S$ 锁定(guaranteed)了其奖牌。

给定提交记录,请为每支获奖队伍找出他们锁定奖牌的时间。

输入格式

第一行包含一个整数 $T$ ($1 \le T$),表示接下来的测试用例数量。

每个测试用例描述的第一行包含两个整数 $p$ 和 $s$ ($1 \le p \le 26$, $13 \le s \le 10^5$):分别表示题目数量和提交数量。接下来的 $s$ 行中,每行按评测系统接收到提交的顺序,以 team problem time verdict 的格式描述一次提交。

  • team 是一个长度为 1 到 50 的字符串,可以包含英文大小写字母、数字或字符 ‘-’、‘_’、‘.’(减号、下划线、点)。它表示进行该次提交的队伍名称。 没有两支队伍拥有相同的名称,且每支参赛队伍都至少进行了一次提交。
  • problem 是单个大写英文字母。如果它是字母表中的第 $i$ 个字母,则表示该提交是针对比赛的第 $i$ 道题。保证 $1 \le i \le p$。
  • time 是一个长度为 4 的字符串,格式为 h:mm,其中除一个字符外其余均为数字,表示自比赛开始以来流逝的时间:$h$ 小时 $mm$ 分钟($0 \le h \le 5$,$00 \le mm \le 59$,$h \cdot 60 + mm \le 300$)。 保证在单个测试用例中,每次提交的 time 不早于前一次提交的 time。但请注意,time 相同并不意味着提交是同时发生的:在列表中较早出现的提交发生得更早。
  • verdict 是一个由两个大写英文字母组成的字符串。当且仅当评测结果为 OK 时,该提交才是正确的。在本题中,计算罚时的时候没有可以忽略的评测结果(例如,CE 也算作一次错误的尝试)。

保证至少有 13 支队伍解决了至少一道题,单个文件中所有测试用例的 $s$ 之和不超过 $10^5$,且单个文件中所有 $|team|$ 的长度之和不超过 $10^6$。

输出格式

对于每支获得奖牌的队伍,输出一行,包含两个字符串:队伍名称以及锁定其奖牌的提交的时间,格式为 h:mm。输出队伍的顺序应与它们锁定奖牌的提交在输入中出现的顺序相同。

样例

输入样例 1

1
3 34
Lucky_I_of_Tech C 0:01 WA
Abbr._U_of_Tech A 0:15 OK
Bioinformatics_U A 0:20 OK
M._University A 0:30 OK
UN_de_Ingenieria A 0:35 OK
College_No_1234 A 0:40 OK
Discrete_Math_U A 0:45 OK
Ecole_Perpendiculaire A 0:50 OK
FFT_University A 1:00 OK
Great_Staff_U A 1:11 OK
Hard_Problems_U A 1:20 OK
Lucky_I_of_Tech B 1:30 OK
Never_Medal_U A 1:30 OK
Lucky_I_of_Tech B 1:30 OK
Unfreezing_U A 1:40 OK
Lucky_I_of_Tech B 1:40 TL
Univ._of_Toyoko A 2:11 OK
Univ._of_Toyoko B 2:50 RE
Univ._of_Toyoko B 2:50 ML
Univ._of_Toyoko B 2:51 WA
Univ._of_Toyoko B 2:51 OK
Bioinformatics_U B 3:49 OK
Abbr._U_of_Tech B 3:50 OK
M._University B 3:59 OK
UN_de_Ingenieria B 4:00 OK
College_No_1234 B 4:10 OK
Discrete_Math_U B 4:12 OK
Ecole_Perpendiculaire B 4:14 OK
FFT_University B 4:16 OK
Great_Staff_U B 4:18 OK
Hard_Problems_U B 4:25 OK
Lucky_I_of_Tech A 4:32 OK
Never_Medal_U B 4:32 OK
Unfreezing_U B 4:59 OK

输出样例 1

Univ._of_Toyoko 2:51
Bioinformatics_U 3:49
Abbr._U_of_Tech 3:50
M._University 3:59
UN_de_Ingenieria 4:00
College_No_1234 4:10
Discrete_Math_U 4:12
Ecole_Perpendiculaire 4:14
FFT_University 4:16
Great_Staff_U 4:18
Hard_Problems_U 4:25
Lucky_I_of_Tech 4:32

说明

在样例中,Lucky_I_of_TechUniv._of_ToyokoNever_Medal_U 并列解决了 2 道题,且罚时均为 362 分钟。然而,Never_Medal_U 提交其第二个正确解答的时间晚于其他两支队伍,因此他们没有获得奖牌。

请注意,为了本题的需要,比赛规则可能与实际的 ICPC 世界总决赛或其任何区域赛中使用的规则略有不同。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.