페이지를 불러오는 중…
해결한 사람
1
명
정답률
100.00
%
시간 제한
5
ms
메모리 제한
1024
MB
Johan은 하루 종일 TV을 시청하는 것을 좋아하지만, 광고 시간은 견디지 못한다. 시청 중인 프로그램에 광고 시간이 시작되면 다음 채널로 바꾸고, 광고가 나오지 않는 채널을 찾을 때까지 이를 반복한다. 이 일이 일어났을 때 마지막 채널을 시청 중이었다면 대신 첫 번째 채널부터 다시 시작한다. 그런 다음 광고가 시작될 때까지 이 채널을 시청하고, 이후에도 같은 방식으로 행동한다.
Johan은 하루 동안 실제로 각 채널을 얼마나 시청했는지 나중에 궁금해졌다. 각 채널에서 광고가 나온 시간 구간이 주어질 때,
이를 계산하라. 그는 00:00부터 그 이후 하루 동안 시청했으며, 첫 번째 채널에서 시청을 시작했다.
채널을 한 번 바꾸는 데 1분이 걸리고, 채널을 바꾸는 동안에는 아무것도 시청하지 않는다고 가정할 수 있다. 즉, 채널을 바꿀 때마다 시청 시간에서 일 분이 사라진다.
제출한 풀이는 여러 테스트 케이스 그룹으로 평가된다. 한 그룹의 점수를 받으려면 그 그룹의 모든 테스트 케이스를 통과해야 한다.
그룹 | 배점 | 제한
||
|| 추가 제한 없음.
입력은 채널 수를 나타내는 정수 으로 시작한다. ()
이후 채널마다 한 줄이 주어진다. 각 줄은 해당 채널의 광고 시간 수를 나타내는 정수 로 시작한다.
그 뒤 같은 줄에 개의 광고 시간(())이 시간순으로 공백을 사이에 두고 주어진다.
각 광고 시간은 HH:MM-HH:MM 형식의 종료 시각과 시작 시각으로 나타낸다. 예를 들어 05:24-22:23은 해당 채널에서
05:24부터 22:23까지 광고가 나왔으며, 그 길이가 정확히 17시간이었다는 뜻이다. 22:23분에도 광고가 계속되며,
광고는 22:24이 되어서야 끝난다는 점에 유의하라. 광고 시간은 아무리 일러도 자정에 시작하고 아무리 늦어도 자정에 끝난다(각각 00:00 및 23:59).
같은 채널의 광고 시간끼리는 서로 겹치지 않는다.
개의 줄을 출력한다. 각 줄 에는 Johan이 채널 을 시청한 시간(분)을 나타내는 정수 하나를 출력한다.
3
1 00:00-00:00
1 00:01-00:01
1 00:02-00:02
1437
0
0
3
1 22:00-22:04
3 06:00-06:04 12:00-12:04 18:00-18:04
0
1320
119
0
Johan이 시청하는 채널은 세 개이다. 그는 00.00시에 첫 번째 채널을 곧바로 시청하기 시작하지만, 즉시 광고 시간을 맞닥뜨린다 그러자 채널을 바꾸며(여기에는 일 분이 걸린다), 불운하게도 다시 광고 시간을 맞닥뜨린다. 그래서 채널을 다시 바꾸지만, 세 번째 채널에서도 같은 일이 반복된다. Johan은 세 분 후 다시 첫 번째 채널로 바꾸고, 이제 마침내 양질의-TV 시청 시간을 세기 시작할 수 있다. 그는 이제 남은 시간 내내 첫 번째 채널을 시청하며, 이는 1437분이다.
Programmeringsolympiaden
로그인 상태를 확인하는 중입니다.