只能对一个样例,求调!
查看原帖
只能对一个样例,求调!
1406526
cmbdgddl楼主2024/10/10 21:31
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
int way[maxn],t[maxn],pricei[maxn];
int n,ans,yhq;
bool q[maxn];
int ts(int time,int i1){
	int et=0;
	for(int i=i1-1;i>=1;i--){
		if(q[i]==0&&way[i]==0)break;
        if(time-t[i]<=45&&way[i]==1&&pricei[i1]<=pricei[i])et=i;
	}
    q[et]=0;
	return et;
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>way[i]>>pricei[i]>>t[i];
	}for(int i=1;i<=n;i++){
		if(way[i]==0){
            yhq++;
            q[i]=1;
        }
		if(yhq>=1&&way[i]==1&&t[i]-t[ts(t[i],i)]<=45){
			yhq--;            
		}else if(yhq<1||way[i]==0||ts(t[i],i)==0){
			ans+=pricei[i];
		}
	}
	cout<<ans;
	return 0;
} 
2024/10/10 21:31
加载中...