社区讨论

模拟爆0求助

P5661[CSP-J 2019] 公交换乘参与者 3已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@m1uxf13o
此快照首次捕获于
2024/10/05 00:15
去年
此快照最后确认于
2025/11/04 18:03
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;

const int maxn = 1e5+100;

struct node{
	int time, price;
};

int a[maxn][4];
vector<node> v;
bool vis[maxn];

int main(){
	int n;
	cin >> n;
	for(int i = 1; i <= n; i++){
		for(int j = 1; j <= 3; j++){
			cin >> a[i][j];
		}
	}
	int ans = 0;
	for(int i = 1; i <= n; i++){
		if(a[i][1] == 0){ 
			v.push_back({a[i][3], a[i][2]});
			ans += a[i][2];
		}
		else{
			bool f = false;
			for(int j = 0; j < v.size(); j++){
				
 				if(a[i][3] - v[j].time <= 45 && a[i][2] <= v[j].price && !vis[i]){
					f = true; vis[i] = true;
					break;
				}
			}
			
			if(!f) ans += a[i][2];
		}
	}

	cout << ans;

	return 0;
}

回复

3 条回复,欢迎继续交流。

正在加载回复...