一半WA一半TLE,请大佬赐教,在线等,急!!!!
查看原帖
一半WA一半TLE,请大佬赐教,在线等,急!!!!
666289
billifs楼主2022/7/22 09:09
#include<bits/stdc++.h> 
using namespace std;
struct aa{
	long long jt/*交通*/,pr/*钱*/,t/*时间*/,f/*有无卷*/;
}ta[100001];
long long flag,n,ans/*钱*/,x[100001];
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>ta[i].jt>>ta[i].pr>>ta[i].t;
		if(ta[i].jt==0){
			ans+=ta[i].pr;
			ta[i].f=1,x[i]=ta[i].t; 
		}
	}
	for(int i=1;i<=n;i++){
		if(ta[i].jt==1)
		{
			for(int j=i-1;j>=1;j--)/*模拟超时*/ 
			{
				if(ta[i].t-x[j]>45&&j>=1)
				{
	        		ans+=ta[i].pr;	
					ta[j].f=0;
					break;
	        	}

			}
			for(int j=1;j<=i-1;j++)/*模拟公交花的钱超过地铁花的钱*/ 
			{   
			    int x=i-1;
				if(ta[i].pr-ta[j].pr<=0&&ta[j].jt!=1&&ta[j].f!=0)
				{
					ta[j].f==0;
					break;
				}
				else {   
					flag=0;
	        		for(int k=1;k<=i-1;k++)
					{
	        			if(ta[i].pr-ta[k].pr<=0&&ta[k].jt!=1&&ta[k].f!=0)
						{
							flag=0;
							ta[k].f=0;
							break;
						}
						else flag=1;	
					}
					
	        	}
	        	if(flag==1)ans+=ta[j].pr;
			}
		}
	}
	cout<<ans;
 return 0;
}
2022/7/22 09:09
加载中...