문제 3054 · 비트 IV
객실 카드 포장대
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 호텔은 단체 손님이 도착하기 전에 객실 카드를 봉투에 넣어 준비한다. 이번에 사용할 객실은 모두 N개이며, 객실마다 손님에게 줄 카드 K장과 안내 데스크에서 보관할 예비 카드 1장이 필요하다. 예비 카드도 객실마다 따로 준비하므로, 서로 다른 객실이 예비 카드 한 장을 함께 사용하지 않는다. 준비 담당자는 먼저 손님용 카드와 예비 카드를 모두 모은 뒤, 작은 포장 상자에서 필요한 수만큼 카드를 꺼낸다. 작은 상자 하나에는 카드 B장이 들어 있다. 창고에는 작은 상자가 충분히 많지만, 상자를 일부만 받는 것은 불가능하다. 따라서 필요한 카드를 모두 확보할 수 있도록 작은 상자를 정수 개 받아야 한다. 담당자는 남는 카드가 생겨도 괜찮지만, 받는 작은 상자의 수는 가능한 한 적게 하려고 한다. 예를 들어 필요한 카드가 상자 하나의 카드 수보다 적더라도 상자 하나를 받아야 한다. 필요한 카드 수가 상자에 든 카드 수의 정확한 배수라면 추가 상자를 받지 않는다. 상자를 받은 뒤 객실별 카드를 모두 준비하고 남은 카드는 창고로 돌려보낸다. 이번 작업에서는 모든 객실에 같은 수의 손님용 카드를 준비한다. 손님용 카드와 예비 카드는 종류가 같으며, 한 상자의 카드를 여러 객실에 나누어 사용해도 된다. 상자를 객실마다 따로 배정할 필요는 없고, 전체 카드 수만 충분하면 된다. 카드의 분실이나 파손은 발생하지 않는다. 객실 수 N, 객실마다 필요한 손님용 카드 수 K, 작은 상자 하나에 든 카드 수 B가 주어진다. 받아야 하는 최소 상자 수와 작업을 마친 뒤 남는 카드 수를 구한다. 두 값은 모두 정수이며, 남는 카드가 없다면 두 번째 값으로 0을 출력한다.
입력
첫째 줄에 정수 N, K, B가 공백으로 구분되어 주어진다. 1 ≤ N, K, B ≤ 1,000이다.
출력
받아야 하는 최소 상자 수와 모든 객실의 손님용 카드 및 예비 카드를 준비한 뒤 남는 카드 수를 공백으로 구분하여 한 줄에 출력한다.
예제 입력 1
7 2 8
예제 출력 1
3 3
예제 입력 2
6 4 10
예제 출력 2
3 0
예제 입력 3
1 1 9
예제 출력 3
1 7
힌트 펼치기
- 전체 필요량은 N × (K + 1)이다.
- 필요량을 B로 나눈 나머지가 있으면 상자가 하나 더 필요하다.
관련 서재 장
알고리즘 분류
사칙연산구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |