30分求助!!! AC+WA
查看原帖
30分求助!!! AC+WA
557669
20100202w楼主2022/7/2 15:08
#include<cstdio>
#include<iostream>
using namespace std; 
struct fun{
	int b,m,t;
}a[300055];
int main()	
{	
//    freopen("7.in","r",stdin);
//    freopen("9.out","w",stdout);			
	int n,i,o=100014,o1=200024;
	long long sum=0;
	cin>>n;
	for(i=1;i<=n;i++)
	{
	 	scanf("%d%d%d",&a[i].b,&a[i].m,&a[i].t);
	 	if(a[i].b==0)
	 	{
	 		a[++o]=a[i];
			sum+=a[i].m;	
		}
		else{
			a[++o1]=a[i];
		}
	}
	int k=o;o=100015;
	int k1=o1;o1=200025;
	for(int i=o1;i<=k1;i++)
	{
		while(a[i].t-a[o].t>45||a[o].m==-1)o++;
		if(a[i].t<a[o].t){
			sum+=a[i].m;
			continue;
		}
		int j,l=0;
		for(j=o;j<=k;j++)
		{
			if(a[i].m<=a[j].m){
				a[j].m=-1;
				l=1;
				break;	
			}	
		}
		if(!l){
			sum+=a[i].m;
		}
	}	
	cout<<sum;
	return 0;
}
			
2022/7/2 15:08
加载中...