题目描述:
主要思路:
#include<iostream>
#include<algorithm>
#include<cstring>
#include<vector>
using namespace std;
vector<int> a,b;
signed main()
{
int n;
cin>>n;
char op;
int x;
for(int i=1;i<=n;i++)
{
getchar();
cin>>op;
cin>>x;
if(op=='T') a.push_back(x);
else b.push_back(x);
}
b.push_back(1000);
sort(a.begin(),a.end());
sort(b.begin(),b.end());
double t=0,w=0,v=1;
int i=0,j=0;
while(i<a.size()||j<b.size())
{
if(j==b.size()||i<a.size()&&a[i]-t<(b[j]-w)*v)
{
w+=(a[i]-t)/v;
t=a[i];
v++;
i++;
}
else
{
t+=(b[j]-w)*v;
w=b[j];
v++;
j++;
}
}
printf("%.0lf\n",t);
return 0;
}