样例全过但都wa
code:
#include<bits/stdc++.h>
using namespace std;
struct ticket{
long long choose;
long long prize;
long long time;
};
ticket a[100005];
queue<long long> q;
long long coun = 0;
long long j = 0;
long long ans = 0;
bool flag;
int main(){
long long n;
cin >> n;
for(int i = 1 ; i <= n ; i++){
scanf("%d%d%d" , &a[i].choose , &a[i].prize , &a[i].time);
}
for(int i = 1 ; i <= n ; i++){
if(a[i].choose == 0){
q.push(i);
coun++;
ans += a[i].prize;
}
else{
j = 0;
flag = false;
while(!q.empty()){
j++;
if(j > coun) break;
int t = q.front();
if(a[i].time - a[t].time > 45){
q.pop();
coun--;
j--;
}
else if(a[t].prize < a[i].prize){
q.pop();
q.push(t);
}
else{
flag = true;
break;
}
}
if(flag == false) ans += a[i].prize;
}
}
cout << ans;
return 0;
}