시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
한 은행에서는 고객이 의도한 것보다 훨씬 큰 금액을 실수로 송금하는 일을 막기 위해 거래 한도를 적용하려고 한다.
각 거래는 한 계좌에서 다른 계좌로 돈을 보내는 요청이다. 거래에는 두 종류가 있다.
각 고객은 거래 종류별로 다음 두 가지 한도를 지정한다.
한도는 다음 규칙으로 적용된다.
이 한도를 적용하여 각 거래 지시의 결과를 출력하는 프로그램을 작성하라.
입력의 각 줄은 쉼표로 구분된 여러 필드로 이루어진 은행 기록이다. 첫 번째 필드가 기록의 종류를 나타낸다.
1 기록은 고객 기록이며 6개의 필드를 가진다. 두 번째 필드는 고객 이름이고, 정확히 8개의 대문자로 이루어진다. 나머지 네 필드는 순서대로 그 고객의 IAT 1회 지시 한도, IAT 일일 노출 한도, 일반 지급 1회 지시 한도, 일반 지급 일일 노출 한도이다.2 기록은 계좌 기록이며 3개의 필드를 가진다. 세 번째 필드는 정확히 6개의 숫자로 된 계좌 번호이다. 이 기록은 두 번째 필드의 고객이 해당 계좌를 소유함을 뜻한다.5 기록은 거래 지시 기록이며 6개의 필드를 가진다. 두 번째부터 여섯 번째 필드는 거래 일시(YYYYMMDDhhmmss), 거래를 요청한 고객, 출금 계좌, 금액, 입금 계좌이다.9 기록은 입력의 끝을 나타내며 필드가 하나뿐이다.모든 금액은 달러와 센트 값이며, 소수점과 정확히 두 자리의 센트로 쓰인다. 자릿수 구분 쉼표는 쓰지 않는다. 최대 금액은 $9,999,999.99이다. 모든 1 기록이 먼저 나오고, 그다음 모든 2 기록, 그다음 모든 5 기록이 나오며, 마지막에 9 기록이 나온다.
2 또는 5 기록에 나오는 고객 이름은 모두 유효하며 정확히 하나의 1 기록에 등장한다. 5 기록에 나오는 계좌 번호도 모두 유효하며 정확히 하나의 2 기록에 등장한다. 5 기록은 거래 일시가 증가하는 순서로 주어진다. 고객은 최대 50명, 계좌는 최대 200개이다.
은행은 23:00부터 06:00까지의 거래를 받지 않으므로, 입력에는 이 시간대의 거래가 나오지 않는다.
각 5 기록마다 한 줄을 출력한다. 각 줄은 INSTRUCTION n: 으로 시작해야 하며, 여기서 n은 1부터 시작하는 거래 지시 번호이다. 그 뒤에는 다음 메시지 중 정확히 하나를 붙인다.
NOT OWNERIAT MAX EXCEEDED 또는 PAYMENT MAX EXCEEDEDIAT DEL EXCEEDED 또는 PAYMENT DEL EXCEEDEDIAT OK 또는 PAYMENT OK한 거래가 두 한도 검사를 모두 실패하는 경우에는 해당하는 MAX EXCEEDED 메시지만 출력한다.