why 0 分 玄馆
查看原帖
why 0 分 玄馆
1370556
__lcm楼主2024/10/18 17:42
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e5+10;
struct node{
	int f,m,t;
}a[N];
bool operator < (const node &x,const node &y){
	 return x.t<y.t;
}
signed main(){
	ios::sync_with_stdio(0);
	cin.tie(0),cout.tie(0);
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>a[i].f>>a[i].m>>a[i].t;
	sort(a+1,a+n+1);
	int ans=0;
	vector<node>v;
	for(int i=1;i<=n;i++){
		if(!a[i].f){
			v.push_back(a[i]);
			ans+=a[i].m;
		}
		else{
			int f=0;
			for(node j:v){
				if(j.t+45>=a[i].t&&j.m>=a[i].m&&!j.f){
					j.f=1;
					f=1;
					break;
				}
			}
			if(!f) ans+=a[i].m;
		}
	}
	cout<<ans;
}

玄馆

2024/10/18 17:42
加载中...