Code:
#include<iostream>
using namespace std;
struct ticket{
int time,price;
bool ynuse=false;
}a[100005];
struct ways{
int time,price,way;
}b[100005];
int main(){
int n,sum=0;
cin>>n;
int num=0;
for(int i=0;i<n;i++){
cin>>b[i].way>>b[i].price>>b[i].time;
if(b[i].way==0){
a[num].time=b[i].time;
a[num].price=b[i].price;
num++;
sum+=b[i].price;
}
}
for(int i=0;i<n;i++){
if(b[i].way==1){
bool used=false;
for(int j=0;j<num;j++){
if(a[j].ynuse==true){
continue;
}
if(b[i].price<=a[j].price&&(b[i].time-a[j].time<=45&&b[i].time-a[j].time>0)){
a[j].ynuse=true;
used=true;
break;
}
}
if(used==false){
sum+=b[i].price;
}
}
}
cout<<sum;
return 0;
}