交易所 Exchange

题意翻译

你的任务是为交易所设计一个订单处理系统。要求支持如下三种指令。 - BUY p q:有人想买,数量为p,价格为q。 - SELL p q:有人想卖,数量为p,价格为q。 - CANCEL i:取消第i条指令对应的订单(输入保证这里有一个) 交易规则如下: 对于当前买订单,若当前最低卖价低于当前出价,则发生交易;对于当前卖订单,若当前最高买价高于当前价格,则发生交易。 发生交易时,按供需物品个数的最小值交易。交易后,需修改订单的供需物品个数。 当前出价或价格相同时,按订单产生的先后顺序发生交易。 感谢来自@孙博彦的翻译。

题目描述

[problemUrl]: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=448&page=show_problem&problem=4473 [PDF](https://uva.onlinejudge.org/external/15/p1598.pdf)

输入输出格式

输入格式


输出格式


输入输出样例

输入样例 #1

11
BUY 100 35
CANCEL 1
BUY 100 34
SELL 150 36
SELL 300 37
SELL 100 36
BUY 100 38
CANCEL 4
CANCEL 7
BUY 200 32
SELL 500 30

输出样例 #1

QUOTE 100 35 - 0 99999
QUOTE 0 0 - 0 99999
QUOTE 100 34 - 0 99999
QUOTE 100 34 - 150 36
QUOTE 100 34 - 150 36
QUOTE 100 34 - 250 36
TRADE 100 36
QUOTE 100 34 - 150 36
QUOTE 100 34 - 100 36
QUOTE 100 34 - 100 36
QUOTE 100 34 - 100 36
TRADE 100 34
TRADE 200 32
QUOTE 0 0 - 200 30