#include<iostream>
using namespace std;
int n;
long long sum=0;
int flag;//subway0 or bus1
long long rt;//real time
int prt;//real price
struct num{
long long t=0;
int price=0;
}numt[100005];
int count=0;
int main(){
cin>>n;
while(n--)
{
cin>>flag;
if(!flag){//subway
cin>>numt[count].price>>numt[count].t;
sum+=numt[count].price;
count++;
// cout<<" "<<0<<endl;
}
else//bus
{
cin>>prt>>rt;
bool f=false;
int reco=-1;
// cout<<" "<<1<<endl;
for(int i=count-1;i>=0&&rt-numt[i].t<=45;i--)
{
if(numt[i].price>=prt&&numt[i].price!=1005)//地铁比公交贵
{
f=true;
reco=i;//记录已经用过的优惠券
}
}
if(!f)//没有可以用
{
sum+=prt;
}
else{
numt[reco].price=1005;//已经用过
}
}
// cout<<sum;
}
cout<<sum;
return 0;
}
using namespace std;
int n;
long long sum=0;
int flag;//subway0 or bus1
long long rt;//real time
int prt;//real price
struct num{
long long t=0;
int price=0;
}numt[100005];
int count=0;
int main(){
cin>>n;
while(n--)
{
cin>>flag;
if(!flag){//subway
cin>>numt[count].price>>numt[count].t;
sum+=numt[count].price;
count++;
// cout<<" "<<0<<endl;
}
else//bus
{
cin>>prt>>rt;
bool f=false;
int reco=-1;
// cout<<" "<<1<<endl;
for(int i=count-1;i>=0&&rt-numt[i].t<=45;i--)
{
if(numt[i].price>=prt&&numt[i].price!=1005)//地铁比公交贵
{
f=true;
reco=i;//记录已经用过的优惠券
}
}
if(!f)//没有可以用
{
sum+=prt;
}
else{
numt[reco].price=1005;//已经用过
}
}
// cout<<sum;
}
cout<<sum;
return 0;
}



京公网安备 11010502036488号