样例没过,不知道哪里错了
#include<iostream>
#include<cstdio>
#include<queue>
using namespace std;
const int N=1e5+5;
struct ticket{
int t;
int pj;
};
queue<ticket>tic;
int main()
{
int n,ans=0;
cin>>n;
for(int i=0;i<n;i++)
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a==0)
{
ticket t;
t.pj=b;
t.t=c;
tic.push(t);
ans+=b;
}
if(a==1)
{
bool running=1;
while(running)
{
if(tic.empty()) break;
{
ticket t=tic.front();
if(c-t.t>45) tic.pop();
else break;
}
}
for(int i=0;i<tic.size();i++)
{
if(tic.empty())
{
ans+=b;
break;
}
ticket t=tic.front();
tic.pop();
if(t.pj>b) break;
else tic.push(t);
ans+=b;
}
}
}
cout<<ans;
return 0;
}