求dalao们帮忙看看www
#include<cstdio>
#include<iostream>
#define MAXN 233333
using namespace std;
struct train{
int pr;//存储其价格
int st;//存储开始搭乘地铁的时间
}a[MAXN];
int sum=0,r=0;//sum统计第x张优惠票 r指向最早的优惠票下标
long long ans=0;
int main(){
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
int tran,price,t;
scanf("%d%d%d",&tran,&price,&t);
if(!tran){
a[sum].pr=price;
a[sum++].st=t;
ans+=price;
}
else if(tran){
bool flag=true;
for(int j=r;j<sum;j++){
if(t-a[j].st>45)r++;
else if(t-a[j].st<=45&&price<=a[j].pr){
flag=false;
break;
}
}
if(flag)ans+=price;//没有可用优惠票
}
}
printf("%lld",ans);
return 0;
}