새로운 경매 사업을 시작하려고 합니다. 경매에서 낙찰받고도 결제를 미루거나 취소하는 구매자를 막기 위해, 모든 입찰자는 어떤 물품에 입찰하기 전에 반드시 예치금을 먼저 맡겨야 합니다. 입찰자가 경매에서 낙찰되는 순간, 그 입찰 금액은 바로 그 초에 계좌 잔액에서 차감됩니다.
하루 동안 진행되는 경매를 시뮬레이션하는 프로그램을 작성하세요. 여러 개의 물품이 경매에 부쳐지며, 각 물품에는 반드시 충족해야 하는 최소 가격(예약 가격)이 있습니다. 각 입찰자는 예치한 잔액을 가지고 있고, 낙찰된 입찰 금액은 그 잔액에서 지불됩니다. 프로그램은 하루 동안의 모든 경매를 추적하여 각 경매의 결과를 출력해야 합니다.
보장 조건
낙찰 규칙
경매는 다음 조건을 모두 만족하는 가장 높은 입찰이 낙찰됩니다.
낙찰된 입찰 금액은 경매가 끝나는 순간 즉시 차감되므로, 경매는 종료 시각 순서대로 처리해야 합니다. 먼저 끝난 경매에서 낙찰받은 입찰자는 잔액이 줄어들어 나중에 끝나는 경매에서는 낙찰받지 못할 수도 있습니다.
입력은 세 부분으로 이루어집니다: 경매에 부쳐진 물품, 등록된 입찰자, 그리고 하루 동안 이루어진 입찰입니다.
물품
i.i개의 줄, 각 물품마다 한 줄: 물품번호 최소가격 종료시각
물품번호는 음이 아닌 정수입니다.최소가격은 0.01 단위까지 주어집니다.종료시각은 24시간제 HH:MM:SS 형식이며, HH는 00–23, MM은 00–59, SS는 00–59입니다.입찰자
j.j개의 줄, 각 입찰자마다 한 줄: 입찰자번호 계좌잔액
입찰자번호는 음이 아닌 정수입니다.계좌잔액은 0.01 단위까지 주어집니다.입찰
k.k개의 줄, 각 입찰마다 한 줄: 물품번호 입찰자번호 입찰금액 입찰시각
각 물품에 대해, 물품의 경매 종료 시각 순서대로 한 줄씩 출력합니다.
낙찰된 입찰이 있는 물품은 다음과 같이 출력합니다.
Item <물품번호> Bidder <입찰자번호> Price <낙찰금액>
낙찰된 입찰이 없는 물품은 다음과 같이 출력합니다.
Item <물품번호> Reserve not met.
금액은 0.01 단위까지 출력합니다(예: 27.00).