求助
  • 板块灌水区
  • 楼主Max_LS
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/7/28 21:36
  • 上次更新2024/7/29 08:24:28
查看原帖
求助
1227116
Max_LS楼主2024/7/28 21:36

P5661公交换乘

5分测试点 求调

#include<iostream>
using namespace std;
struct bitch{
	long long price,time;
	bool use=false;
}dick[50000];
struct fuck{
	long long traffic,price,time;
}shit[1000000];
int main(){
	int n,ans=0,k=0;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>shit[i].traffic>>shit[i].price>>shit[i].time;
		if(shit[i].traffic==0){
			dick[k].price=shit[i].price;
			dick[k].time=shit[i].time;
			k++;
		}
	}
	for(int i=0;i<n;i++){
		if(shit[i].traffic==1&&i>0){
			long long result=0;
			for(int j=0;j<i;j++){
				if(result>=shit[i].price){
					break;
				}
				else if(0<shit[i].time-dick[j].time&&shit[i].time-dick[j].time<=45&&dick[j].use==0){
					result=result+dick[j].price;
					dick[j].use=1;
				}
				else if(j==i-1){
					ans=ans+shit[i].price;
				}		
			}
		}
		else{
			ans=ans+shit[i].price;
		}
	}
	cout<<ans;
	return 0;
}
2024/7/28 21:36
加载中...