В стране дефицит чугунных болванок. Их продают на электронных торгах. Покупатели заявляют цену, по которой они готовы купить. Время от времени появляется продавец и выставляет на торги К болванок по цене X. Первые К покупателей, предложивших цену X или большую, получают по одной болванке. Если таких покупателей оказывается меньше, чем К, то нераспроданные болванки отправляются на переплавку.
Вне зависимости от того, досталась ли покупателю болванка из очередной партии, его заявка остаётся в силе и действует до тех пор, пока он в явном виде не отзовёт её.
С каждой проданной болванки биржа получает комиссию в размере 0.01 бибрика. Требуется разработать программу, рассчитывающую прибыль биржи по итогам торгов на основании журнала всех операций.
Исходные данные
Во входных данных содержится журнал, в каждой строке которого находится описание одной операции. Операции бывают трёх видов:
- «BID X» — покупатель делает заявку на покупку болванки по цене X.
- «DEL X» — покупатель снимает заявку на покупку по цене X.
- «SALE X K» — продавец выставляет на продажу К болванок по цене X.
X лежит в пределах от 0.01 до 10000.00 бибриков и содержит не более 2 знаков после десятичной точки. K — целое число от 1 до 100000. Максимальное количество операций в журнале — 100000. Журнал не содержит внутренних противоречий (например, первая запись «DEL X» не может встретиться раньше первой записи «BID X» и т.д.). В последней строке входных данных записано слово «QUIT».
Результат
Требуется вывести прибыль биржи в бибриках с двумя знаками после десятичной точки.
Пример
исходные данные | результат |
---|
BID 0.01
BID 10000
BID 5000
BID 5000
SALE 7000 3
DEL 5000
SALE 3000 3
SALE 0.01 3
QUIT | 0.06 |
Автор задачи: Идея — Павел Атнашев, подготовка — Павел Атнашев, Павел Егоров
Источник задачи: VIII Командный студенческий чемпионат Урала по программированию. Екатеринбург, 11-16 марта 2004 г.