蒟蒻求助,30pts,其余RE,求优化
查看原帖
蒟蒻求助,30pts,其余RE,求优化
467882
Eason0425楼主2022/8/21 19:51
#include<bits/stdc++.h>
using namespace std;
struct node
{
	long long ridemode,price,time;	
}arrive[100010]; 
long long n,cnt=0,ans=0,tim[100010],j;
bool flag[100010];
int main()
{
	memset(flag,0,sizeof(0));
	cin>>n;
	for(long long i=1;i<=n;i++)			cin>>arrive[i].ridemode>>arrive[i].price>>arrive[i].time;
	for(long long i=1;i<=n;i++)
	{
		cnt=0;
		if(arrive[i].ridemode==0)
		{
			tim[i]=arrive[i].time;
			ans+=arrive[i].price;
		}	
		else
		{
			for(long long j=1;j<=i;j++)
				if(arrive[i].time-tim[j]<=45&&(arrive[j].price>=arrive[i].price)&&flag[tim[j]]==0))
				{
					cnt=1;
					flag[tim[j]]=1;
					break;
				}
			if(cnt==0)
				ans+=arrive[i].price;	
		}
	}
	cout<<ans;
	return 0;
}
2022/8/21 19:51
加载中...