公交换乘0分
查看原帖
公交换乘0分
356995
kaiyan5楼主2020/10/29 10:19
#include<iostream>
using namespace std;
struct take{
	
	int way;
	int price;
	int t;
	int flag; 
};
take a[100001];
int main(){
	long n,sum=0;cin>>n;
	for(int i = 1;i<=n;i++){
		cin>>a[i].way>>a[i].price>>a[i].t;
		
		if(a[i].way==0){
			a[i].flag=0;
		}else if(a[i].way==1){
			a[i].flag==2;
		}
	} 
	
	for(int i = 1;i<=n;i++){
		if(i>1&&a[i].way==1){
			 
			for(int j=1;j<i;j++){
			
				if(a[j].flag==0&&a[i].t-a[j].t<=45){
					
					if(a[j].price>=a[i].price){
						
						a[i].price=0;
					
						a[j].flag=1;
					
						break;
					}
				}
			}
		}
		sum+=a[i].price;
	}
	cout<<sum;
	return 0;
}

各位大佬帮忙看一下,通过了两例测试,但是洛谷上一分也没有

2020/10/29 10:19
加载中...