문제 3881 · 비트 II
매표 창구의 묶음 주문
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
작은 영화관의 백엔드 담당자는 매표 창구에서 받은 주문 기록으로 남은 재고와 정산 금액을 계산하려 한다. 창구에서는 한 회차의 관람권과 팝콘 교환권을 함께 판매한다. 관람권 한 장의 가격은 9,000원이고, 팝콘 교환권 한 장의 가격은 4,000원이다. 관람권과 팝콘 교환권의 처음 재고는 각각 S장과 P장이다. 두 재고는 서로 다른 상품의 수량이므로 한쪽 재고로 다른 쪽의 부족분을 대신할 수 없다. 주문은 접수된 순서대로 하나씩 처리한다. 각 주문에는 관람권 구매 수량 a와 팝콘 교환권 구매 수량 b가 적혀 있다. 현재 관람권 재고가 a 이상이고 팝콘 교환권 재고가 b 이상이면 주문 전체를 승인한다. 승인한 주문은 두 상품의 재고에서 구매 수량을 각각 빼고, 해당 주문의 결제 금액을 누적 정산 금액에 더한다. 어느 한 상품이라도 재고가 부족하면 주문 전체를 거절한다. 거절한 주문은 재고와 정산 금액을 전혀 바꾸지 않으며, 거절 횟수만 1 증가시킨다. 일부 수량만 판매하거나 거절한 주문을 나중에 다시 처리하지 않는다. 승인한 주문에서 관람권을 3장 이상 구매하고 팝콘 교환권을 1장 이상 구매했다면, 두 상품의 가격 합계에서 정확히 1,000원을 할인한다. 할인은 조건을 만족하는 주문마다 한 번만 적용하며, 구매 수량에 비례하여 여러 번 적용하지 않는다. 팝콘 교환권을 구매하지 않은 주문에는 할인이 없다. 할인 여부는 재고를 검사하는 방법에 영향을 주지 않는다. 처리 도중 상품이 추가로 입고되거나 주문이 취소되는 일은 없다. 처음 누적 정산 금액과 거절 횟수는 모두 0이다. 모든 주문을 처리한 뒤 남은 관람권 수량, 남은 팝콘 교환권 수량, 누적 정산 금액, 거절 횟수를 구한다.
입력
첫째 줄에 주문 수 N, 처음 관람권 재고 S, 처음 팝콘 교환권 재고 P가 공백으로 구분되어 주어진다. N은 1 이상 1,000 이하이고, S와 P는 각각 0 이상 1,000 이하이다. 다음 N개의 줄에는 접수 순서대로 각 주문의 관람권 구매 수량 a와 팝콘 교환권 구매 수량 b가 공백으로 구분되어 주어진다. a는 1 이상 10 이하이고, b는 0 이상 10 이하이다. 입력으로 주어지는 모든 수는 정수이다.
출력
남은 관람권 수량, 남은 팝콘 교환권 수량, 누적 정산 금액, 거절 횟수를 이 순서대로 한 줄에 공백으로 구분하여 정수로 출력한다. 금액에는 쉼표나 단위를 붙이지 않는다. 승인된 주문이 없으면 누적 정산 금액은 0이다.
예제 입력 1
4 7 4 3 2 5 0 2 2 2 1
예제 출력 1
2 0 60000 2
예제 입력 2
3 0 5 1 0 3 1 2 5
예제 출력 2
0 5 0 3
예제 입력 3
2 6 0 3 0 3 0
예제 출력 3
0 0 54000 0
힌트 펼치기
- 각 주문을 처리할 때 두 상품의 재고를 모두 확인한 뒤, 승인한 경우에만 재고와 정산 금액을 바꾼다.
알고리즘 분류
구현시뮬레이션풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |