문제 3083 · 비트 V
학원의 연습지 묶음 주문
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
어느 학원에서는 새 수업을 시작하기 전에 학생들에게 나누어 줄 연습지를 준비한다. 이번 수업에 참여하는 학생은 N명이며, 모든 학생에게 똑같이 A장씩 나누어 주어야 한다. 학생마다 받는 장수를 다르게 하거나 연습지 한 장을 여러 학생이 함께 사용하는 일은 없다. 따라서 수업에 필요한 연습지의 총수는 학생 수와 한 학생에게 나누어 줄 장수의 곱이다. 학원 보관함에는 이전 수업에서 사용하지 않은 연습지가 B장 있다. 보관함의 연습지는 이번 수업에서도 그대로 사용할 수 있다. 담당자는 보관함의 연습지를 먼저 사용하고, 부족한 만큼만 새로 주문하려고 한다. 보관함에 필요한 양보다 많은 연습지가 있더라도 남는 연습지를 버리지는 않는다. 이미 가지고 있는 연습지에는 이번 주문 비용이 들지 않는다. 새 연습지는 한 묶음에 K장씩 들어 있으며, 묶음 하나의 가격은 P원이다. 묶음을 뜯어서 일부만 구매할 수는 없고, 반드시 온전한 묶음 단위로 구매해야 한다. 담당자는 모든 학생에게 정해진 장수를 나누어 줄 수 있도록 주문하되, 주문하는 묶음 수를 가장 적게 정한다. 보관함의 연습지만으로 충분하다면 주문하는 묶음 수는 0이다. 묶음마다 들어 있는 장수와 가격은 모두 같으므로, 가장 적은 묶음 수로 주문하면 결제 금액도 가장 작아진다. 연습지는 주문 직후 도착하며 배송비나 할인은 없다. 수업에서 학생들에게 나누어 준 연습지는 모두 사용한 것으로 보고, 그 밖의 연습지는 보관함에 남긴다. 남은 장수에는 원래 보관함에 있던 연습지와 새로 주문한 연습지를 구별하지 않고 모두 포함한다. 학생 수, 배부 장수, 보관 중인 장수, 묶음의 구성과 가격이 주어질 때, 주문에 필요한 결제 금액과 배부를 마친 뒤 남는 연습지의 장수를 구하는 프로그램을 작성하라.
입력
첫째 줄에 정수 N, A, B, K, P가 공백으로 구분되어 주어진다. N은 학생 수, A는 학생 한 명에게 나누어 줄 연습지의 장수, B는 보관함에 있는 연습지의 장수, K는 묶음 하나에 들어 있는 연습지의 장수, P는 묶음 하나의 가격이다. 1 ≤ N, A, K, P ≤ 1,000이고, 0 ≤ B ≤ 1,000이다.
출력
첫째 줄에 결제 금액과 배부를 마친 뒤 남는 연습지의 장수를 이 순서대로 공백으로 구분하여 정수로 출력한다. 주문할 필요가 없다면 결제 금액으로 0을 출력한다. 모든 입력에서 배부가 가능하며 답은 하나로 정해진다.
예제 입력 1
7 4 5 10 300
예제 출력 1
900 7
예제 입력 2
3 2 11 4 250
예제 출력 2
0 5
예제 입력 3
8 3 4 5 120
예제 출력 3
480 0
힌트 펼치기
- 부족한 연습지의 장수를 먼저 구한 뒤, 그 장수를 채우는 최소 묶음 수를 구한다.
관련 서재 장
알고리즘 분류
사칙연산풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |