80~95 RE求调
查看原帖
80~95 RE求调
883038
XYdy_s12楼主2024/10/3 16:22

P5661公交换乘

#include<bits/stdc++.h>
using namespace std;
struct tra{
	int t;
	int w;
	int v;
	bool is = 1;
}arr[100001];
bool pd(int n,int i){
	if(i == 0)return 0;
	int mi = -1;
	int j = i-1;
	while(arr[i].t - arr[j].t <= 45){
		if(arr[i].t - arr[j].t <= 45 && arr[j].is && arr[i].v <= arr[j].v){
			mi = j;
		}
		j--;
	}
	if(mi == -1)
		return 0;
	else{
		arr[mi].is = 0;
		return 1;
	}
}
int main(){
	//freopen("transfer.in","r",stdin);
	//freopen("transfer.out","w",stdout);
	int n;
	int ans = 0;
	cin>>n;
	for(int i = 0;i < n;i++){
		cin>>arr[i].w>>arr[i].v>>arr[i].t;
		if(arr[i].w == 1){
			arr[i].is = 0;
			if(pd(arr[i].t,i)) continue;
			else ans += arr[i].v;
		}
		else ans+=arr[i].v;	
	} 
	cout<<ans<<endl;
	return 0;
}

提交了好几遍,有几个RE,一会80一会90的

2024/10/3 16:22
加载中...