DVDs
면접 대비시간 제한1초메모리 제한128 MB
각 DVD 제목의 재고에 상한과 하한이 적용된 판매와 입고 거래를 차례로 적용한 뒤 최종 재고 수량을 출력한다.
문제
지역 회사 "DVDs R Us"의 재고 관리 시스템을 만들어야 한다. 이 회사는 지역 창고에서 DVD를 온라인으로 판매하며, 각 타이틀의 DVD가 현재 몇 개 재고로 남아 있는지 언제든 알 수 있어야 한다.
각 DVD 타이틀에는 재고 코드가 있으며 창고에서 일정한 보관 공간을 배정받는다. 인기가 많은 타이틀일수록 더 많은 공간을 배정받는다. DVD는 끊임없이 판매되고 다시 채워지므로, 각 타이틀의 재고 수량을 추적하는 시스템이 필요하다.
여러 타이틀의 초기 재고와 각 타이틀에 대한 판매·재입고 거래 목록이 주어질 때, 모든 거래를 처리한 뒤 각 타이틀의 최종 재고 수량을 구하라.
입력
입력은 여러 DVD 타이틀의 정보로 이루어진다. 한 타이틀의 정보는 다음과 같이 주어진다.
- 첫 번째 줄에는 재고 코드가 주어진다. 재고 코드는 대문자와 숫자로만 이루어진 7자리 코드이다.
- 두 번째 줄에는 공백으로 구분된 두 정수 과 가 주어진다. 은 해당 타이틀을 한 번에 보관할 수 있는 최대 수량이고 (), 는 현재 재고 수량이다 ().
- 세 번째 줄에는 정수 가 주어지며, 뒤따르는 거래의 개수이다 ().
- 이어지는 개의 줄에는 각각 하나의 거래가 주어진다. 각 줄은 대문자 한 개(
S또는R), 공백, 그리고 미만의 양의 정수로 이루어진다.S는 판매를 뜻하며, 숫자는 판매된 DVD 수량이다. 판매 수량이 현재 재고보다 많으면 현재 재고만큼만 판매된다(재고는 미만이 될 수 없다).R는 재입고를 뜻하며, 숫자는 추가되는 DVD 수량이다. 이로 인해 재고가 최대 수량 을 넘게 되면 초과분은 반품된다(재고는 을 넘을 수 없다).
입력의 끝은 재고 코드 자리에 # 하나만 있는 줄로 표시된다. 이 타이틀은 처리하지 않는다.
출력
각 DVD 타이틀에 대해 그 재고 코드, 공백 한 칸, 그리고 모든 거래를 처리한 뒤의 재고 수량을 출력한다.