문제 3328 · 비트 IV
재생 구간별 적립 시간
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 음악 스트리밍 서비스는 이용자가 음악을 들은 시간을 바탕으로 감상 기록에 적립 분수를 표시한다. 이 서비스는 재생을 시작한 순간부터 멈춘 순간까지를 하나의 재생 구간으로 기록한다. 다시 재생을 시작하면 새로운 구간이 만들어진다. 한 구간에서 여러 곡을 이어 들어도 중간에 재생을 멈추지 않았다면 같은 구간에 속한다. 적립 분수는 각 재생 구간에서 완성한 60초 묶음의 개수로 계산한다. 한 구간에서 60초를 들을 때마다 1분을 적립하며, 그 구간이 끝났을 때 60초에 못 미치는 나머지 시간은 버린다. 버린 시간은 다음 구간으로 넘기지 않는다. 각 구간에서 얻은 적립 분수를 모두 더한 값이 전체 적립 분수다. 예를 들어 한 구간의 길이가 143초라면 60초 묶음 두 개가 있으므로 2분을 적립하고, 남은 23초는 버린다. 길이가 59초인 구간에서는 완성한 묶음이 없으므로 적립 분수가 0이다. 또한 길이가 각각 35초와 40초인 두 구간은 서로 별도로 계산한다. 두 구간의 길이를 합하면 60초가 넘더라도, 어느 구간에서도 60초를 채우지 못했으므로 두 구간에서 얻는 적립 분수의 합은 0이다. 서비스가 제공하는 기록에는 각 구간의 길이만 초 단위의 정수로 적혀 있다. 재생을 시작한 직후 바로 멈춘 경우도 기록에 남기므로 길이가 0인 구간이 있을 수 있다. 모든 구간은 이미 종료되었으며, 서로 겹치는 시간은 없다. 구간 사이의 대기 시간은 주어지지 않고 적립에도 영향을 주지 않는다. 기록된 구간의 개수는 1 이상 1,000 이하이고, 각 구간의 길이는 0 이상 3,600 이하의 정수다. 기록에 적힌 모든 구간을 규칙에 따라 처리하여 전체 적립 분수를 구한다. 적립할 수 있는 분수가 전혀 없다면 결과는 0이다.
입력
첫째 줄에 재생 구간의 개수 N이 주어진다. N은 1 이상 1,000 이하의 정수다. 둘째 줄에 각 재생 구간의 길이 D₁, D₂, …, Dₙ이 초 단위로 공백으로 구분되어 주어진다. 각 Dᵢ는 0 이상 3,600 이하의 정수다.
출력
전체 적립 분수를 정수 하나로 출력한다. 모든 구간의 적립 분수가 0이면 0을 출력한다.
예제 입력 1
5 143 59 60 121 0
예제 출력 1
5
예제 입력 2
3 35 40 59
예제 출력 2
0
예제 입력 3
4 3600 60 119 180
예제 출력 3
65
힌트 펼치기
- 각 구간의 길이를 60으로 나눈 몫을 구한 뒤 누적한다.
관련 서재 장
알고리즘 분류
반복누적구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |