UVa-1598-Exchange

来源:互联网 发布:服装商品数据分析指标 编辑:程序博客网 时间:2024/05/16 08:50

    用两个map<int,vector<pair<int,int>>,greater<int>>,map<int,vector<pair<int,int>>,less<int>>分别保存buy信息和sell信息,其中key是价格,每个pair是一条信息。pair.first是信息序号,pair.second是数量。map<int,pair<string,int>>用来指示某个序号的信息是buy还是sell,并且保存相应的价格。每从输入获取一条信息,如果是buy,则检查sellInfo中的最小价格是否低于此条buy信息的价格,若是,则进行交易,直到有一方size为0或askprice高于buy价格。输入信息是sell时,操作类似。如果是CANCEL,则找到对应的pair删除之,当然也有可能找不到(已经交易完毕)。

    每次处理不管是否进行了交易,都要输出一条quote信息。若没有激活的信息,则输出0 0 - 0 99999。

1 0