样例全过,30分,求助```cpp
查看原帖
样例全过,30分,求助```cpp
220437
Birdparrot楼主2022/10/1 12:28

样例全过,30分,求助

#include <bits/stdc++.h>
using namespace std;

int n;
struct node{
	int ty,p,t;
}a[100005],c[100005];


int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
       scanf("%d%d%d",&a[i].ty,&a[i].p,&a[i].t);	   
	   
	   
	long long ans=0,cnt=1,start=1;
	for(int i=1;i<=n;i++)
	{
		
		if(a[i].ty==0){
		  ans+=a[i].p;
		  c[cnt].ty=a[i].ty, c[cnt].p=a[i].p;
		  c[cnt].t=a[i].t;
		  cnt++;
		} 
		
		if(a[i].ty==1){
			bool f=1;
			for(int j=start;j<=cnt;j++){
				if(c[j].ty==1) continue;
				if(a[i].t-c[j].t>45)
				  start=j;
				else if(c[j].p>=a[i].p)
				  {
				  	c[j].ty=1,f=0;
				  	break;
				  }
			}
			if(f) ans+=a[i].p;
		}
		
	}
	
	cout<<ans;
	
	return 0;
	
} 
2022/10/1 12:28
加载中...