求助
查看原帖
求助
507387
Karl_Aldrich楼主2022/2/4 13:28
#include<bits/stdc++.h>
using namespace std;
const int MAXN=100005;
struct ticket{
	int pri,ti;
	bool used=false;
}a[MAXN];
int h,t,n,ans;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		int o,p,t;
		cin>>o>>p>>t;
		if(o==0){
			ans+=p;
			a[t].ti=t+45;
			a[t++].pri=p;
		}
		else{
			while(h<t&&a[h].ti<t) h++;
			bool flag=false;
			for(int i=h;i<t;i++){
				if(a[i].pri>=p&&!a[i].used){
					flag=true;
					a[i].used=true;
					break;
				}
			}
			if(!flag)ans+=p;
		}
	}
	cout<<ans<<endl;
	return 0;
}

2022/2/4 13:28
加载中...