문제 3031 · 비트 IV
창구의 출금 판정
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 은행 창구에서는 손님이 요청한 출금을 간단한 규칙에 따라 처리한다. 이 창구에서 사용하는 금액의 단위는 모두 만 원이다. 예를 들어 금액 3은 3만 원을 뜻하며, 실제 원 단위로 바꾸어 계산할 필요는 없다. 손님의 현재 계좌 잔액은 B이고, 이번에 현금으로 받으려는 금액은 W이다. W는 항상 양의 정수로 주어진다. 창구에는 한 번에 출금할 수 있는 금액의 상한 L이 정해져 있다. 또한 창구 이용권이 있는 손님에게는 수수료를 받지 않는다. 이용권이 없는 손님도 요청한 출금액 W가 기준 금액 T 이상이면 수수료를 받지 않는다. 이용권이 없고 W가 T보다 작은 경우에만 수수료 1을 받는다. 이용권 보유 여부는 정수 P로 주어지며, P가 1이면 이용권이 있고 P가 0이면 이용권이 없다. 출금 판정은 정해진 순서대로 진행한다. 먼저 W가 L보다 크면 다른 조건을 확인하지 않고 한도 초과로 거절한다. W가 L 이하이면 앞의 규칙으로 수수료를 정한다. 그런 다음 잔액 B가 출금액과 수수료의 합보다 작으면 잔액 부족으로 거절한다. 잔액이 그 합과 정확히 같으면 출금할 수 있으며, 처리 후 잔액은 0이 된다. 출금이 승인되면 계좌에서 W와 수수료를 함께 빼고 손님에게 현금 W를 지급한다. 거절된 요청에는 수수료가 붙지 않으며 잔액도 바뀌지 않는다. 한도 초과와 잔액 부족에 해당하는 상황이 동시에 성립하더라도 먼저 검사하는 한도 초과 결과만 출력한다. 한 손님의 출금 요청 하나가 주어질 때, 창구의 판정 결과와 필요한 금액 정보를 구하는 프로그램을 작성한다.
입력
첫째 줄에 정수 B, W, L, T, P가 공백으로 구분되어 주어진다. 0 ≤ B ≤ 1,000이다. 1 ≤ W, L, T ≤ 1,000이다. P는 0 또는 1이다.
출력
한도 초과로 거절하면 LIMIT을 출력한다. 잔액 부족으로 거절하면 FUNDS를 출력한다. 승인하면 OK, 처리 후 잔액, 수수료를 이 순서대로 한 줄에 공백으로 구분하여 출력한다. 모든 영문은 대문자로 출력하며 금액은 정수로 출력한다.
예제 입력 1
20 8 15 10 0
예제 출력 1
OK 11 1
예제 입력 2
4 7 6 5 1
예제 출력 2
LIMIT
예제 입력 3
8 8 10 9 0
예제 출력 3
FUNDS
힌트 펼치기
- 출금 한도를 가장 먼저 검사한다.
- 수수료를 정한 뒤 출금액과 수수료를 합쳐 잔액과 비교한다.
관련 서재 장
알고리즘 분류
조건 분기구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |