문제 3390 · 비트 IV
학원의 마지막 종
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 학원은 하루 동안 같은 길이의 수업을 여러 번 연속으로 진행한다. 각 수업의 길이는 L분이고, 하루 수업 횟수는 N번이다. 서로 이웃한 두 수업 사이에는 반드시 B분의 쉬는 시간이 있다. 첫 수업을 시작하기 전에는 쉬는 시간이 없으며, 마지막 수업이 끝나면 쉬는 시간을 추가하지 않고 그날의 일정을 바로 마친다. 학원 안내판에는 첫 수업의 시작 시각과 마지막 수업의 종료 시각을 표시한다. 시각은 24시간제를 사용하며, 0시 0분부터 23시 59분까지의 시각으로 나타낸다. 시작 시각이 H시 M분일 때, 수업 시간과 쉬는 시간을 모두 더하여 마지막 수업의 종료 시각을 계산해야 한다. 모든 시간은 분 단위로 주어지며, 초 단위의 시간은 고려하지 않는다. 수업 도중 별도의 식사 시간이나 준비 시간은 없다. 쉬는 시간이 0분이면 앞 수업이 끝나는 즉시 다음 수업을 시작한다. 수업이 한 번뿐이라면 쉬는 시간은 한 번도 생기지 않는다. 따라서 수업 횟수와 쉬는 시간 횟수를 구분하여 계산해야 한다. 일정이 길어지면 종료 시각이 다음 날이나 그 이후가 될 수도 있다. 안내판에는 날짜나 지난 날의 수를 표시하지 않고, 마지막 수업이 끝나는 날의 시각만 표시한다. 하루는 정확히 24시간, 한 시간은 정확히 60분으로 계산한다. 종료 시각이 정확히 자정이면 0시 0분으로 표시한다. 주어진 수업 일정에 따라 안내판에 적을 종료 시각의 시와 분을 구하는 프로그램을 작성한다.
입력
첫째 줄에 정수 H, M, N, L, B가 공백으로 구분되어 주어진다. 첫 수업의 시작 시각은 H시 M분이며, 0≤H≤23, 0≤M≤59다. 수업 횟수는 1≤N≤1,000, 각 수업의 길이는 1≤L≤120, 쉬는 시간의 길이는 0≤B≤60이다.
출력
마지막 수업이 끝나는 날의 시각을 나타내는 시와 분을 한 줄에 공백 하나로 구분하여 출력한다. 시는 0 이상 23 이하, 분은 0 이상 59 이하의 정수여야 한다. 한 자리 수 앞에 0을 붙이지 않는다.
예제 입력 1
16 35 3 45 10
예제 출력 1
19 10
예제 입력 2
23 20 1 40 15
예제 출력 2
0 0
예제 입력 3
10 0 50 60 0
예제 출력 3
12 0
힌트 펼치기
- 시작 시각을 분으로 바꾼 뒤, 수업 N번과 쉬는 시간 N-1번의 길이를 더한다.
- 하루의 분 수로 나눈 나머지를 사용하면 날짜를 제외한 종료 시각을 구할 수 있다.
관련 서재 장
알고리즘 분류
구현사칙연산풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |