记录编号 595904 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 [CSP 2019J]交通换乘 最终得分 100
用户昵称 GravatarEmbark 是否通过 通过
代码语言 C++ 运行时间 1.153 s
提交时间 2024-10-17 21:38:49 内存使用 3.58 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n;
struct xx{
	int ti,cost;
	bool used;
}a[100005];

int ans=0;

int j=0;
int main(){
	freopen("csp2019pj_transfer.in","r",stdin);
	freopen("csp2019pj_transfer.out","w",stdout);
	cin>>n;
	int cz=0;
	for(int i=0;i<n;i++){
		int jt,price,t;
		cin>>jt>>price>>t;
		if(jt==0){
			a[j].cost=price;
			a[j].ti=t;
			a[j].used=false;
			j++;
			ans+=price;
		}
		else{
			
			bool isfound=false;
			for(int q=cz;q<j;q++){
				if(t-a[q].ti<=45){
					cz=q;
					break;
				}
			}
			for(int k=cz;k<min(cz+45,j);k++){
				if(a[k].used) continue;
				if(price>a[k].cost) continue;
				a[k].used=true;
				isfound=true;
				break;
			}
			if(!isfound) ans+=price;
		}
	
	}
	cout<<ans;
	
	
}