#include<bits/stdc++.h>
using namespace std;
int sum,cnt,m;
struct node
{
int time,price,kind;
}a[100005];
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i].kind>>a[i].price>>a[i].time;
}
for(int i=1;i<=n;i++)
{
if(a[i].kind==0)
{
sum+=a[i].price;
cnt++;
}
if(a[i].time-a[i-1].time>45)
{
cnt--;
}
if(a[i].kind==1&&cnt<1)
{
sum+=a[i].price;
}
if(a[i].kind==1)
{
m=cnt;
sum+=0;
cnt--;
}
if(a[i].kind==1&&a[i-1].kind==0&&a[i-1].price<a[i].price&&m==cnt)
{
sum+=a[i].price;
}
}
cout<<sum<<endl;
return 0;
}
------------
[原题](https: