你的任务是为交易所设计一个订单处理系统。要求支持如下三种指令。
BUY p q
:有人想买,数量为p,价格为q。SELL p q
:有人想卖,数量为p,价格为q。CANCEL i
:取消第i条指令对应的订单(输入保证存在一个是BUY
或SELL
的订单)QUOTE
表示挂单情况:前两个整数表示最高出价(BUY)的订单的数量、出价,后两个数表示价格最低(SELL)的订单的数量、出价,中间以减号-
分隔。有多个订单的出价相同,则数量要合并后输出。TRADE
,以及发生交易的数量和价格(如果是BUY,那么输出卖的价格,反之如果是SELL,则输出买的价格),再输出所有交易完毕后的挂单情况(即QUOTE
情况)。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
4
BUY 1 15
SELL 1 20
BUY 1 14
SELL 5 12
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
QUOTE 1 15 - 0 99999
QUOTE 1 15 - 1 20
QUOTE 1 15 - 1 20
TRADE 1 15
TRADE 1 14
QUOTE 0 0 - 3 12