求助大佬!#17~20爆TLE!
查看原帖
求助大佬!#17~20爆TLE!
902704
wjx38223楼主2023/8/15 19:57

用vector做的,其他全AC,#17#18#19#20直接TLE……

#include<bits/stdc++.h>
using namespace std;
int n, ans;
struct re{
	int cl, t, p;
}k[10000010];
vector<re> v;
int main(){
	cin >> n;
	for(int i = 1; i<=n; i++){
		cin >> k[i].cl >> k[i].p >> k[i].t;
	}
	//cout << endl;
	for(int i = 1; i<=n; i++){
		if(k[i].cl==0){
			v.push_back((re){1,k[i].t,k[i].p});
		}
		if(k[i].cl==1){
			bool ok = false;
			re used = {0,INT_MAX,INT_MAX};
			for(int j = 0; j<v.size(); j++){
				if(used.t>v[j].t&&k[i].t-v[j].t<=45&&v[j].p>=k[i].p){
					used = v[j];
					used.cl = j;
					ok = true;
				}
			}
			if(ok){
				v.erase(v.begin()+used.cl);
				k[i].p = 0;
			}
			
		}
		ans+=k[i].p;
		//cout << k[i].t << " " << k[i].p << " " << ans << endl;
	}
	cout << ans;
	return 0;
}

2023/8/15 19:57
加载中...