#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
struct node{
int enable;
string s;
double val;
ll cnt;
node(int e,string st,double v,ll cn)
{
enable=e;
s=st;
val=v;
cnt=cn;
}
};
vector<node>v;
int main()
{
string s;
double money;
ll sum;
while(cin>>s)
{
if(s=="buy"||s=="sell")
{
cin>>money>>sum;
v.push_back({1,s,money,sum});
}
else if(s=="cancel")
{
int row;
cin>>row;
v.push_back({0,s,0,row});
v[row-1].enable=0;
}
else
{
break;
}
}
set<double>price;
for(int i=0;i<v.size();i++)
{
if(v[i].enable==1&&v[i].s=="buy")
{
price.insert(v[i].val);
}
}
ll result=0;
double p;
for(set<double>::iterator it=price.begin();it!=price.end();it++)
{
//cout<<*it<<" "<<"whf"<<endl;
ll sumbuy=0,sumsell=0;
for(int i=0;i<v.size();i++)
{
if(v[i].s=="buy"&&v[i].val>=(*it)&&v[i].enable==1)
{
sumbuy+=v[i].cnt;
}
if(v[i].s=="sell"&&v[i].val<=(*it)&&v[i].enable==1)
{
sumsell+=v[i].cnt;
}
}
sumbuy=min(sumbuy,sumsell);
if(result<=sumbuy)
{
result=sumbuy;
p=*it;
}
}
printf("%.2f %lld",p,result);
cout<<endl;
}
CCF认证201412-3集合竞价
猜你喜欢
转载自blog.csdn.net/amf12345/article/details/89035731
今日推荐
周排行