求助(QwQ),样例都过了,35分。。不知道那里错了
查看原帖
求助(QwQ),样例都过了,35分。。不知道那里错了
237650
Crouy_Li_Dorac楼主2023/8/1 23:20

rt

#include<bits/stdc++.h>
using namespace std;
struct by{
	bool sorb;
	int p;
	int t;
};
int n,ans,tic;
int m[100010],it;
by a[100010];
int main()
{
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>a[i].sorb>>a[i].p>>a[i].t;
	}
	a[100005].p=-1;
	for(int i=0;i<n;i++){
		if(!a[i].sorb){
			tic++;
			m[it+tic]=i;
			continue;
		}
		if(tic){
			for(int j=it+1;j<=it+tic;j++){
				if(a[i].t-a[m[j]].t>45){
					it++;
					tic--;
					continue;
				}
				if(a[i].p<=a[m[j]].p&&a[i].p){
					a[i].p=0;
					m[j]=100005;
				}
			}
		}
	}
	for(int i=0;i<n;i++){
		ans+=a[i].p;
	}
	cout<<ans<<endl;
	return 0;
}
2023/8/1 23:20
加载中...