QOJ.ac

QOJ

حد الوقت: 30.0 s حد الذاكرة: 256 MB مجموع النقاط: 100

#17456. 来自编程女神的礼物

الإحصائيات

编程女神正在翻阅一本厚厚的日志,这是她神圣的编程祭坛的年度访客记录。日志中也记录了她自己到访祭坛的时间。

这座祭坛吸引了来自世界各地的程序员,因为女神每年都会选择一名访客,并赐予其奇迹般的编程力量。获得恩赐的程序员将从那些在女神在场期间在祭坛停留时间最长的程序员中选出。曾经有一些热心的访客在祭坛停留了很长时间,但由于女神在他们访问期间不在场,因此未能获得恩赐。

现在,你的任务是编写一个程序,找出获得恩赐的程序员在女神在场期间,在祭坛停留的总时间。

输入格式

输入包含多个数据集。数据集的数量少于 100。每个数据集的格式如下:

$$ \begin{gather*} n \\ M_1/D_1 \ h_1:m_1 \ e_1 \ p_1 \\ M_2/D_2 \ h_2:m_2 \ e_2 \ p_2 \\ \vdots \\ M_n/D_n \ h_n:m_n \ e_n \ p_n \end{gather*} $$

每个数据集的第一行包含一个正偶数 $n \le 1000$,表示日志的行数。接下来是 $n$ 行由空格分隔的数据,其中:

  • $M_i/D_i$ 标识访问的月份和日期。
  • $h_i:m_i$ 表示进入或离开祭坛的时间。
  • $e_i$ 为 I(表示进入,Entrance)或 O(表示离开,Exit)。
  • $p_i$ 标识访客。

日志中的所有行都采用固定列宽格式。月份和日期均由两位数字表示。例如,4 月 1 日表示为 04/01,而不是 4/1。时间采用 24 小时制,小时占两位数字,后跟一个冒号和两位分钟数字,例如 09:13,而不是 9:13。程序员由一个唯一的 3 位数字 ID 标识。女神的进入和离开也使用相同的格式记录,其 ID 为 000

日志中的所有行均按日期和时间升序排序。由于祭坛在午夜关闭,因此祭坛在 00:00 会被清空。你可以认为输入中的每个时间都在 00:0123:59 之间(含首尾)。

程序员可能会在进入祭坛后立即离开。在这种情况下,进入和离开的时间相同,此类访问的时长视为 0 分钟。你可以认为对于此类进入和离开记录,对应进入的行在输入中会比对应离开的行更早出现。你可以认为日志中至少会出现一名程序员。

输入结束由仅包含一个零(0)的一行表示。

输出格式

对于每个数据集,输出获得恩赐的程序员的总恩赐时间。程序员的恩赐时间是指其在女神在场期间在祭坛停留的时间长度。获得恩赐的程序员是所有程序员中总恩赐时间最长的那个人。输出应以分钟为单位表示。注意,编程女神本身不是程序员。

样例

输入样例 1

14
04/21 09:00 I 000
04/21 09:00 I 001
04/21 09:15 I 002
04/21 09:30 O 001
04/21 09:45 O 000
04/21 10:00 O 002
04/28 09:00 I 003
04/28 09:15 I 000
04/28 09:30 I 004
04/28 09:45 O 004
04/28 10:00 O 000
04/28 10:15 O 003
04/29 20:00 I 002
04/29 21:30 O 002
20
06/01 09:00 I 001
06/01 09:15 I 002
06/01 09:15 I 003
06/01 09:30 O 002
06/01 10:00 I 000
06/01 10:15 O 001
06/01 10:30 I 002
06/01 10:45 O 002
06/01 11:00 I 001
06/01 11:15 O 000
06/01 11:30 I 002
06/01 11:45 O 001
06/01 12:00 O 002
06/01 12:15 I 000
06/01 12:30 I 002
06/01 12:45 O 000
06/01 13:00 I 000
06/01 13:15 O 000
06/01 13:30 O 002
06/01 13:45 O 003
0

输出样例 1

45
120

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.