문제 3212 · 비트 V
발송대의 표찰 묶음
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
택배 작업장의 발송대에서 오늘 보낼 상자에 표찰을 붙이려 한다. 보낼 상자는 모두 N개이며, 상자 하나마다 정확히 K장의 표찰을 붙여야 한다. 표찰은 상자의 서로 다른 면에 붙이지만, 모든 표찰의 모양과 용도는 같아서 어느 표찰을 어느 상자에 붙여도 된다. 상자마다 붙이는 표찰 수를 줄이거나, 일부 상자를 다음 날로 미루는 일은 없다. 작업을 시작하기 전 발송대에는 낱장 표찰이 S장 남아 있다. 담당자는 이 표찰을 먼저 사용하고, 오늘 작업에 필요한 표찰이 부족할 때만 창고에서 새 묶음을 가져온다. 새 묶음 하나에는 표찰이 정확히 R장 들어 있다. 창고에는 같은 묶음이 충분히 많이 있으며, 묶음을 가져온 뒤에는 안에 든 표찰을 모두 낱장으로 사용할 수 있다. 다만 창고에서 묶음의 일부만 가져오는 것은 허용되지 않는다. 담당자는 모든 상자에 필요한 표찰을 붙일 수 있도록 새 묶음을 가능한 한 적게 가져오려 한다. 기존 표찰만으로 충분하다면 새 묶음을 하나도 가져오지 않는다. 필요한 표찰 수와 기존 표찰 수가 정확히 같은 경우에도 새 묶음은 가져오지 않는다. 가져온 묶음에 남는 표찰이 생겨도 괜찮으며, 남은 표찰은 버리지 않고 발송대에 보관한다. 작업이 끝난 뒤 남은 표찰 수는 처음 발송대에 있던 표찰과 새로 가져온 모든 표찰을 합한 수에서, 오늘 상자에 붙인 표찰 수를 뺀 값이다. 따라서 기존 표찰이 충분했던 경우에는 처음 있던 표찰 중 사용하지 않은 것도 남은 표찰에 포함된다. 창고에 그대로 둔 묶음의 표찰은 포함하지 않는다. N, K, S, R이 주어질 때, 가져와야 하는 새 묶음의 최소 개수와 모든 작업이 끝난 뒤 발송대에 남는 표찰 수를 구한다. 창고의 묶음이 부족한 경우는 없으므로 모든 입력에서 작업을 마칠 수 있다.
입력
첫째 줄에 정수 N, K, S, R이 공백으로 구분되어 주어진다. N은 상자 수, K는 상자 하나에 붙일 표찰 수, S는 기존 낱장 표찰 수, R은 새 묶음 하나에 든 표찰 수이다. 1 ≤ N ≤ 1,000 1 ≤ K ≤ 1,000 0 ≤ S ≤ 1,000 1 ≤ R ≤ 1,000
출력
가져와야 하는 새 묶음의 최소 개수와 작업 후 남는 표찰 수를 이 순서대로 공백 하나로 구분하여 한 줄에 출력한다. 가져올 묶음이 없거나 남는 표찰이 없으면 해당 값으로 0을 출력한다.
예제 입력 1
7 3 5 6
예제 출력 1
3 2
예제 입력 2
4 2 11 5
예제 출력 2
0 3
예제 입력 3
6 4 4 10
예제 출력 3
2 0
힌트 펼치기
- 필요한 표찰 수는 N × K이다. 부족한 표찰 수가 양수일 때만 묶음을 가져온다.
- 부족한 표찰 수를 D라 하면 필요한 묶음 수는 (D + R - 1)을 R로 나눈 몫이다.
관련 서재 장
알고리즘 분류
사칙연산구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |