30分求助
查看原帖
30分求助
867076
pukelixuanlin楼主2024/10/17 16:07
#include<bits/stdc++.h>
using namespace std;
struct node{
	bool gj;
	int price;
	long long t;
}a[100001];
int main(){
	int total=0;
	int n;
	cin>>n;
	for(int i = 1;i <= n;i++){
		cin>>a[i].gj>>a[i].price>>a[i].t;
	}
	int m=1;
	for(int i = 1;i <= n;i++){
		if(a[i].gj==0){
			total+=a[i].price;
		}
		else if(a[i].gj==1){
			for(int j = m;j <= i;j++){
				if(a[j].gj==0){
					m=j;
					if( (a[i].t-a[j].t) <= 45 and a[i].price <= a[j].price){
					a[j].gj=1;
					a[i].price=0;
					break;
					}
				}
			}
			total+=a[i].price;
		}
//		cout<<total<<endl;
	}
	cout<<total<<endl;
	return 0;
}
2024/10/17 16:07
加载中...