Logo
(追記) (追記ここまで)

25827번 - 시간 구간 다중 업데이트 다중 합 서브태스크

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 512 MB3521118331.801%

문제

시간 구간에 대한 질의를 처리하려고 한다. 전체 시간 구간은 [00:00:00,23:59:59]이다. h:m:shms초를 나타낸다. 전체 시간 구간은 길이가 1초인 구간으로 나누어져 있다. 즉, 전체 시간 구간은[00:00:00,00:00:01], [00:00:01,00:00:02], ..., [23:59:58,23:59:59]인 구간으로 나누어져 있다.

시간 구간에 대한 n개의 질의가 저장된 배열 A가 주어진다. 배열 A에 저장된 n개의 질의는 아래 두 가지 유형으로 구분된다. 첫 번째가 유형 1을 나타내고 두 번째가 유형 2를 나타낸다.

  • 1 h1:m1:s1 h2:m2:s2 : 시간 구간 [h1:m1:s1,h2:m2:s2]에 1을 더한다.
  • 2 h1:m1:s1 h2:m2:s2 : 시간 구간 [h1:m1:s1,h2:m2:s2]의 값을 출력한다.

시간 구간 [h1:m1:s1,h2:m2:s2]에 1을 더하는 유형 1의 질의는 시간 구간 [h1:m1:s1,h2:m2:s2]에 포함된 길이가 1초인 모든 구간에 1을 더하는 것을 의미한다. 예를 들어, [00:00:02,01:02:03]에 1을 더하는 질의는 [00:00:02,00:00:03], [00:00:03,00:00:04], ..., [01:02:02,01:02:03] 구간에 1을 더하는 것을 의미한다.

시간 구간 [h1:m1:s1,h2:m2:s2]의 값을 출력하는 유형 2의 질의는 시간 구간 [h1:m1:s1,h2:m2:s2]에 포함된 길이가 1초인 모든 구간의 합을 출력하는 것을 의미한다. 예를 들어, [00:00:02,01:02:03]의 값을 출력하는 질의는 [00:00:02,00:00:03], [00:00:03,00:00:04], ..., [01:02:02,01:02:03] 구간의 합을 출력하는 것을 의미한다.

전체 시간 구간 [00:00:00,23:59:59]의 초깃값은 0이다. 배열 A에 저장된 첫 번째 질의부터 n번째 질의까지 순서대로 처리하면서 유형 2의 결과를 출력하자. 단, 배열 A에는 모든 유형 1의 질의가 유형 2의 질의보다 앞부분에 저장되어 있다.

입력

첫 번째 줄에 n이 주어진다.

두 번째 줄부터 n개의 줄에 배열 A에 저장된 n개의 질의가 첫 번째 질의부터 n번째 질의까지 순서대로 주어진다. 한 줄에 한 개의 질의가 주어진다.

출력

첫 번째 줄부터 유형 2의 질의 결과를 순서대로 한 줄씩 출력한다.

제한

  • 2 ≤ n ≤ 100,000
  • 00 ≤ h1, h2 ≤ 23
  • 00 ≤ m1, s1, m2, s2 ≤ 59
  • 00:00:00 ≤ h1:m1:s1 < h2:m2:s2 ≤ 23:59:59
  • h1, m1, s1, h2, m2, s2는 모두 길이가 2인 문자열이다.
  • 배열 A에는 모든 유형 1의 질의가 유형 2의 질의보다 앞부분에 저장되어 있다.
  • 배열 A에는 유형 2가 1개 이상 저장되어 있다.

서브태스크

번호배점제한
130

1 ≤ n ≤ 10,000

h1, h2는 모두 00이다.

270

추가 제약 조건 없음

예제 입력 1

5
1 00:01:10 00:01:20
1 00:00:20 02:02:30
1 00:01:20 02:02:00
2 00:01:10 00:01:20
2 00:00:00 23:59:59

예제 출력 1

20
14580

첫 번째 질의를 처리하면 [00:01:10,00:01:11], [00:01:11,00:01:12], ..., [00:01:19,00:01:20] 구간이 0에서 1로 변경된다.

두 번째 질의를 처리하면 [00:00:20,00:00:21], [00:00:21,00:00:22], ..., [00:01:09,00:01:10] 구간이 0에서 1로 변경되고 [00:01:10,00:01:11], [00:01:11,00:01:12], ..., [00:01:19,00:01:20] 구간이 1에서 1로 변경되고 [00:01:20,00:01:21], [00:01:21,00:01:22], ..., [02:02:29,02:02:30] 구간이 0에서 1로 변경된다.

세 번째 질의를 처리하면 [00:01:20,00:01:21], [00:01:21,00:01:22], ..., [02:01:59,02:02:00] 구간의 값이 1만큼 증가한다.

네 번째 질의는 [00:01:10,00:01:11], [00:01:11,00:01:12], ..., [00:01:19,00:01:20] 구간의 합을 출력한다.

마지막 질의는 전체 시간 구간의 합을 출력한다.

힌트

출처

채점 및 기타 정보

  • 예제는 채점하지 않는다.
(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /