문제 3813 · 비트 III
새 책의 분류 스티커
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
도서관에서는 새로 들어온 책에 분류 스티커를 붙이려고 한다. 이번에 들어온 책은 모두 N권이며, 각 책에는 똑같이 A개의 스티커를 붙인다. 책마다 필요한 스티커의 수는 같고, 한 번 붙인 스티커를 떼어서 다른 책에 다시 사용할 수는 없다. 담당자는 책에 붙일 스티커와 함께 보관할 예비 스티커 B개도 준비해야 한다. 예비 스티커는 책에 붙이지 않지만, 이번에 준비하는 전체 스티커 수에는 포함된다. 스티커는 낱개로 받을 수 없고 인쇄용 시트 단위로만 받을 수 있다. 시트 한 장에는 사용할 수 있는 스티커가 정확히 K개 들어 있다. 모든 시트의 스티커는 서로 같은 용도로 사용할 수 있으며, 시트에서 떼어 낸 스티커를 여러 책에 나누어 붙여도 된다. 한 책에 필요한 스티커를 반드시 같은 시트에서 가져올 필요도 없다. 따라서 시트마다 책을 따로 배정하거나, 책 한 권을 위한 빈자리를 남겨 둘 필요는 없다. 담당자는 모든 책에 스티커를 붙이고 예비 스티커 B개를 따로 확보할 수 있도록 시트를 받는다. 다만 필요 이상의 시트를 받지 않기 위해, 이 조건을 만족하는 가장 적은 장수만 받으려고 한다. 준비한 스티커가 필요한 수와 정확히 같아도 조건을 만족한다. 필요한 수가 시트 한 장에 들어 있는 스티커 수의 배수가 아니라면, 마지막 시트의 일부 스티커는 사용하지 않은 채 남게 된다. 남는 스티커의 수를 셀 때에는 책에 붙인 스티커와 예비로 확보한 스티커를 모두 제외한다. 예비 스티커는 아직 책에 붙이지 않았더라도 이미 용도가 정해졌으므로 남는 스티커에 포함하지 않는다. 처음부터 따로 보관 중인 시트나 스티커는 없으며, 손상되어 사용할 수 없는 스티커도 없다. 받아야 하는 최소 시트 장수와 그때 용도가 정해지지 않고 남는 스티커 수를 구하는 프로그램을 작성한다.
입력
한 줄에 N, A, B, K가 공백으로 구분되어 주어진다. 모든 입력값은 정수이며, 1 ≤ N ≤ 1,000, 1 ≤ A ≤ 1,000, 0 ≤ B ≤ 1,000, 1 ≤ K ≤ 1,000이다.
출력
받아야 하는 최소 시트 장수와 남는 스티커 수를 이 순서대로 공백으로 구분하여 한 줄에 출력한다. 남는 스티커가 없으면 두 번째 값으로 0을 출력한다.
예제 입력 1
7 3 4 8
예제 출력 1
4 7
예제 입력 2
6 4 0 8
예제 출력 2
3 0
예제 입력 3
1 1 0 10
예제 출력 3
1 9
힌트 펼치기
- 책에 붙일 스티커와 예비 스티커를 합해 필요한 총개수를 구한다.
- 시트 장수를 구한 뒤 전체 스티커 수에서 필요한 수를 뺀다.
관련 서재 장
알고리즘 분류
사칙연산풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |