페이지를 불러오는 중…
해결한 사람
1
명
정답률
100.00
%
시간 제한
5
ms
메모리 제한
1024
MB
Spotify는 사용자가 휴대전화에서 자신의 재생을 원격으로 제어할 수 있게 해 주는 새로운 기능 Spotify Connect을 방금 출시했다. 이로 인해 수많은 새로운 기술적 과제가 생기며, 그중 하나는 재생 데이터의 로그를 기록하는 방식이다. 음반사에 보고하려면 사용자가 음악을 얼마나 오랫동안 들었는지 정확히 알아야 하기 때문이다.
한 사용자의 play 및 paus 버튼 누름에 대한 로그 데이터가 주어진다.
사용자는 노트북으로 음악을 제어하기도 하지만, 때로는 휴대전화에서 Spotify Connect을 통해
원격으로 제어하기도 한다. 로그에는 컴퓨터와 휴대전화 양쪽의 play 및 paus 버튼 누름이 포함된다. 사용자가
휴대전화에서 버튼을 누르면 음악이 재생되는 노트북이 반응하기까지 정확히 밀리초의 지연이 발생한다.
노트북이 음악을 재생한 총시간이 정확히 몇 밀리초인지 구해야 한다.
첫 번째 명령이 실행되기 전에는 재생기가 일시 정지된 상태이다.
해결책은 여러 테스트 케이스 그룹으로 평가된다. 한 그룹의 점수를 받으려면 그 그룹의 모든 테스트 케이스를 통과해야 한다.
그룹 | 점수 | 제한 | 기타
1 | 50 || 모든 로그는 서로 적어도 200밀리초 떨어져 있다.
2 | 50 ||
첫 번째 줄에는 로그 줄의 수인 정수 이 주어진다.
이어지는 개의 줄에는 로그 목록이 주어진다. 로그는 버튼을 누른 순서대로 주어지며, 각 로그에는 밀리초 단위의 타임스탬프, 장치
(laptop 또는 mobile), 명령(play 또는 paus)이 포함된다. 마지막 로그는
항상 paus 명령이다. 또한 두 로그의 타임스탬프가 같은 경우는 없으며,
두 로그가 정확히 100밀리초 떨어져 있는 경우도 없다.
입력을 더욱 쉽게 읽을 수 있도록 로그 줄의 필드는 정렬되어 있다. 타임스탬프는 숫자가 항상 7자 길이가 되도록 왼쪽을 영으로 채우며, 휴대전화는 laptop과 글자 수가 같도록 mobile이라고 표기한다. 입력 예제를 참고한다.
사용자가 음악을 들은 밀리초 수를 나타내는 정수 하나를 출력한다.
4
0000500 laptop play
0001000 laptop paus
0001500 mobile play
0002000 laptop paus
900
첫 번째 입력 예제에서 사용자는 500밀리초 동안 음악을 재생한다. 그다음 휴대전화로 음악을 시작하고 밀리초 후 노트북에서 음악을 종료하지만, 지연 때문에 음악은 400밀리초 동안만 재생된다. 따라서 음악이 재생된 총시간은 밀리초이다.
Programmeringsolympiaden
로그인 상태를 확인하는 중입니다.