为什么是30分?
#include<bits/stdc++.h>
using namespace std;
int n,head,tail,sum;
struct T{
bool f;
int t,p;
}a[100005];
struct H{
int t1,p1;
bool u;
}ticket[100005];
int main(){
cin>>n;
head=tail=1;
for(int i=1;i<=n;i++){
cin>>a[i].f>>a[i].p>>a[i].t;
if(a[i].f==0){
ticket[tail].p1=a[i].p;
ticket[tail++].t1=a[i].t;
sum+=a[i].p;
}
if(a[i].f==1){
bool flag=0;
for(int j=head;j<=tail;j++){
if(ticket[j].u) continue;
if(a[i].t-ticket[j].t1>45){
head=j;
}
else if(a[i].p<=ticket[j].p1){
ticket[j].u=1;
flag=1;
break;
}
}
if(flag==0){
sum+=a[i].p;
}
}
}
cout<<sum;
return 0;
}
谢谢!!!!