P5661 [CSP-J2019] 公交换乘 满江红,求助
  • 板块灌水区
  • 楼主wzx2012
  • 当前回复3
  • 已保存回复3
  • 发布时间2025/1/15 10:01
  • 上次更新2025/1/15 14:42:52
查看原帖
P5661 [CSP-J2019] 公交换乘 满江红,求助
1098756
wzx2012楼主2025/1/15 10:01
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e5+3;
int n, a[maxn], b[maxn], c[maxn], now = 0, pev = 0;
int money = 0;
struct node{
	int p;
	int T;
}q[maxn];
int main(){
	cin >> n;
	for(int i = 1;i <= n;i++){
		cin >> a[i] >> b[i] >> c[i];
		money += b[i];
		if(i == 1 && a[i] == 0){
			q[now].p = b[i], q[now].T = c[i];
			now++;
			continue;
		}
		if(a[i] == 0){
			q[now].p = b[i], q[now].T = c[i];
			now++;
		}
		else{
			int j = pev;
			while(j <= now){
				if(c[i] - q[j].T > 45){
					pev++, j++;
					continue;
				}
				else if(q[j].p >= b[i]){ 
					q[j].p = -1;
					money -= b[i];
					break;
				}
				j++;
			}
		}
	}
	cout << money ;
	return 0;
}
2025/1/15 10:01
加载中...