문제 3274 · 비트 IV
학원의 연습지 묶음
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 학원은 특별 수업에 사용할 연습지를 미리 준비한다. 특별 수업에는 여러 반이 참여하며, 모든 반의 학생 수는 같다. 수업이 진행되는 날마다 모든 학생에게 새 연습지를 같은 수만큼 나누어 준다. 학생이 받은 연습지는 그날 사용하므로 다른 날에 다시 나누어 줄 수 없다. 수업 기간 동안 학생 수와 반의 수는 변하지 않으며, 모든 학생이 매일 출석한다. 참여하는 반의 수를 C, 한 반의 학생 수를 S, 수업을 진행하는 날의 수를 D, 학생 한 명에게 하루에 나누어 주는 연습지의 장수를 P라고 한다. 학원은 이 네 값을 이용하여 전체 수업 기간에 필요한 연습지의 총 장수를 계산하려고 한다. 교사용 연습지나 여분의 연습지는 따로 준비하지 않으므로 학생들에게 나누어 줄 분량만 계산한다. 연습지는 한 묶음에 정확히 K장씩 들어 있으며, 묶음을 나누어 구매할 수 없다. 학원에는 기존에 보관한 연습지가 없고, 구매한 모든 묶음의 연습지를 합쳐서 사용할 수 있다. 서로 다른 반이나 다른 날에 사용할 연습지를 같은 묶음에서 꺼내도 된다. 따라서 반마다 또는 날짜마다 필요한 묶음 수를 따로 계산할 필요는 없다. 학원은 전체 수업에 필요한 연습지를 부족하지 않게 준비하면서 구매하는 묶음 수를 가장 작게 정한다. 필요한 장수가 한 묶음의 장수로 나누어떨어지면 추가 묶음을 구매하지 않는다. 나누어떨어지지 않으면 마지막 묶음의 일부를 사용하고 남은 연습지는 보관한다. 주어진 수업 계획과 묶음의 크기를 바탕으로 필요한 연습지의 총 장수, 구매할 최소 묶음 수, 수업이 모두 끝난 뒤 남는 연습지의 장수를 구하는 프로그램을 작성한다.
입력
첫째 줄에 C, S, D, P, K가 공백으로 구분되어 주어진다. 모든 값은 정수이며, 1 ≤ C ≤ 20, 1 ≤ S ≤ 40, 1 ≤ D ≤ 30, 1 ≤ P ≤ 20, 1 ≤ K ≤ 1000이다.
출력
필요한 연습지의 총 장수, 구매할 최소 묶음 수, 남는 연습지의 장수를 이 순서대로 한 줄에 공백으로 구분하여 출력한다. 남는 연습지가 없으면 마지막 값으로 0을 출력한다.
예제 입력 1
3 8 5 2 70
예제 출력 1
240 4 40
예제 입력 2
2 15 4 3 90
예제 출력 2
360 4 0
예제 입력 3
1 1 1 1 1000
예제 출력 3
1 1 999
힌트 펼치기
- 전체 필요 장수를 먼저 계산한다.
- 양의 정수 T장을 K장짜리 묶음으로 준비할 때 최소 묶음 수는 (T + K - 1)을 K로 나눈 몫이다.
관련 서재 장
알고리즘 분류
사칙연산구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |