#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e5+20;
int n,a[N],price[N],t[N],price2[N],t2[N],sum,juan,biao,flag;
signed main(){
/*
思路:
1.先输入数据。
2.判断如果乘坐地铁,那么加上他的钱数,并统计坐地铁的次数。
3.如果做公交,遍历获得优惠卷的个数,如果满足要求,就使用优惠卷,并把优惠卷屏蔽,就是下一次不能使用。
4.如果不满足要求,就判断下一张满不满足要求,以此类推。
5.如果所有优惠卷全部不满足要求,就加上这次公交的钱数,最后输出总钱数。
*/
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i]>>price[i]>>t[i];
if(a[i]==0){
price2[juan]=price[i];
t2[juan]=t[i];
sum+=price[i];
juan++;
}else{
flag=0;
for(int j=biao;j<juan;j++){
if(t[i]-t2[j]<=45 && price2[j]>=price[i]){
price2[j]=-0x3f3f3f3f;
flag=1;
break;
}else if(t[i]-t2[j]>45){
biao=j+1;
}
}
if(flag==0){
sum+=price[i];
}
}
}
cout<<sum;
return 0;
}
03-31
1024

08-04
555

08-21
1267

01-13
1268
