本蒟蒻的思路没问题但结果55
#include <bits/stdc++.h>
using namespace std;
struct node{
long long t,p;
};
queue<node>arr;
queue<node>fzh;
int main(){
long long n;
long long jt,price,time;
long long sum=0;
cin>>n;
for(long long i=1;i<=n;i++){
cin>>jt>>price>>time;
if(jt==0){
sum+=price;
arr.push({time,price});
}
if(jt==1){
while(time-arr.front().t>45&&arr.size()!=0){
arr.pop();
}
if(arr.size()!=0){
if(arr.front().p>=price){
arr.pop();
continue;
}else{
node l;
bool ans=false,num=false;
while(arr.size()!=0){
l=arr.front();
arr.pop();
if(l.p>price&&num!=true){
ans=true;
num=true;
continue;
}
fzh.push(l);
}
while(fzh.size()!=0){
l=fzh.front();
fzh.pop();
arr.push(l);
}
if(ans==true){
continue;
}
}
}
sum+=price;
}
}
cout<<sum;
return 0;
}