아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

프로그래밍 여신의 선물

시간 제한1초메모리 제한128 MB

요약
각 기록은 방문자나 여신(ID 000)의 입장 또는 퇴장 시각을 담고 있다. 여신이 있을 때 가장 오래 머문 방문자를 찾아 그 시간을 분 단위로 출력한다.
난이도

보통10점 중 5점

유형
시뮬레이션, 정렬, 구현, 구간
정답자
아직 제출이 없습니다

문제

프로그래밍의 여신이 자신의 신성한 프로그래밍 제단을 찾은 방문객들을 한 해 동안 기록한 두꺼운 방명록을 살펴보고 있습니다. 이 방명록에는 여신 자신이 제단에 머문 기록도 함께 적혀 있습니다.

이 제단에는 전 세계의 프로그래머들이 모여듭니다. 매년 한 명의 방문객이 선택되어 여신으로부터 기적적인 프로그래밍 능력을 선물로 받기 때문입니다. 선물을 받는 프로그래머는 여신이 제단에 있는 동안 제단에 가장 오래 머문 프로그래머 중에서 선택됩니다. 제단에 아주 오래 머물렀지만 그 시간 동안 여신이 자리에 없어 선물을 받지 못한 열성적인 방문객들도 있었습니다.

여러분이 할 일은, 선물을 받게 될 프로그래머가 여신이 제단에 있는 동안 제단에 얼마나 오래 머물렀는지를 구하는 프로그램을 작성하는 것입니다.

입력

입력은 여러 개의 데이터 세트로 이루어집니다. 데이터 세트의 수는 100개 미만입니다. 각 데이터 세트의 형식은 다음과 같습니다.

n
M1/D1 h1:m1 e1 p1
M2/D2 h2:m2 e2 p2
.
.
.
Mn/Dn hn:mn en pn

데이터 세트의 첫 줄에는 방명록의 줄 수를 나타내는 양의 짝수 n≤1000n \le 1000 이 주어집니다. 이어서 공백으로 구분된 nn 줄의 데이터가 주어지며, 각 줄에서 Mi/DiM_i/D_i 는 방문한 달과 일을, hi:mih_i:m_i 는 제단에 들어가거나 나온 시각을, eie_i 는 들어감을 뜻하는 I 또는 나감을 뜻하는 O 를, pip_i 는 방문자를 식별합니다.

방명록의 모든 줄은 자릿수가 고정된 형식을 따릅니다. 달과 일은 모두 두 자리로 표기합니다. 따라서 4월 1일은 4/1 이 아니라 04/01 로 적습니다. 시각은 24시간제로 표기하며, 시를 두 자리, 콜론, 분을 두 자리로 적습니다. 예를 들어 9시 13분은 9:13 이 아니라 09:13 입니다. 프로그래머는 세 자리의 고유한 번호(ID)로 식별합니다. 여신의 출입도 같은 형식으로 기록되며, 여신의 ID는 000 입니다.

방명록의 모든 줄은 날짜와 시각의 오름차순으로 정렬되어 있습니다. 제단은 자정에 닫히므로 00:00 에는 제단이 비워집니다. 입력의 모든 시각은 00:01 이상 23:59 이하라고 가정해도 됩니다.

프로그래머는 제단에 들어온 직후 바로 나갈 수도 있습니다. 이 경우 들어온 시각과 나간 시각이 같으며, 그런 방문의 길이는 0분으로 봅니다. 이러한 출입 기록에서는 들어감에 해당하는 줄이 나감에 해당하는 줄보다 입력에서 먼저 나온다고 가정해도 됩니다. 방명록에는 적어도 한 명의 프로그래머가 등장한다고 가정해도 됩니다.

입력의 끝은 0 하나만 있는 줄로 표시됩니다.

출력

각 데이터 세트에 대해, 선물을 받는 프로그래머의 축복받은 시간의 총합을 출력하세요. 한 프로그래머의 축복받은 시간이란 여신이 제단에 있는 동안 그 프로그래머가 제단에 머문 시간의 길이를 말합니다. 선물을 받는 프로그래머는 모든 프로그래머 중 축복받은 시간의 총합이 가장 긴 사람입니다. 출력은 분 단위로 나타냅니다. 여신은 프로그래머가 아니라는 점에 유의하세요.

예제5

  1. 예제 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
    
    예상 출력
    45
    120
    
  2. 예제 2

    입력
    2
    04/21 09:00 I 001
    04/21 09:30 O 001
    0
    
    예상 출력
    0
    
  3. 예제 3

    입력
    4
    05/01 10:00 I 000
    05/01 10:00 I 001
    05/01 11:00 O 001
    05/01 11:00 O 000
    0
    
    예상 출력
    60
    
  4. 예제 4

    입력
    4
    04/29 20:00 I 002
    04/29 20:30 I 000
    04/29 21:00 O 000
    04/29 21:30 O 002
    4
    05/01 08:00 I 000
    05/01 08:00 I 003
    05/01 08:20 O 003
    05/01 09:00 O 000
    0
    
    예상 출력
    30
    20
    
  5. 예제 5

    입력
    4
    05/01 09:00 I 005
    05/01 09:30 I 000
    05/01 09:45 O 000
    05/01 10:00 O 005
    0
    
    예상 출력
    15