#include<bits/stdc++.h>
using namespace std;
struct node{
bool z;
int t,p;
}a[100005],s[100005];
int top,n;
int topb(int c){
int i,ans=a[c].p;
for(i=1;i<=top;i++){
if(a[c].t-s[i].t>45){
top=i-1;
break;
}
if(a[c].p<=s[i].p&&ans){
ans=0;
for(int j=i;j<top;j++){
a[j]=a[j+1];
}
top--;
}
}
return ans;
}
void tops(int c){
for(int i=top;i>=1;i--){
s[i+1]=s[i];
}
s[1]=a[c];
top++;
}
int price(){
int pr=0;
for(int i=1;i<n;i++){
if(a[i].z==0){
pr+=a[i].p;
tops(i);
}
else{
pr+=topb(i);
}
}
return pr;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].z>>a[i].p>>a[i].t;
}
cout<<price();
return 0;
}
样例二过了