1 条题解

  • 2
    @ 2024-7-25 14:52:25
    #include<bits/stdc++.h>
    using namespace std;
    int opt,n,t[100001],p[100001],ans,top,m=1,yh[100001],sj[100001],k;
    bool r[100001];
    int main(){
    	cin>>n;
    	for(int i=1;i<=n;i++){
    		cin>>opt>>p[i]>>t[i];
    		if(opt==0) yh[++top]=p[i],sj[top]=t[i],ans+=p[i];
    		else{
    			k=0;
    			for(int j=m;j<=top;j++){
    				if(r[j]) continue;
    				if(t[i]-sj[j]>45) m=j;
    				else if(yh[j]>=p[i]){
    					k=j;
    					r[k]=true;
    					break;
    				}
    			}
    			if(!k) ans+=p[i];
    		}
    	}///test
    	cout<<ans;
    }
    
    

    信息

    ID
    1795
    时间
    1000ms
    内存
    256MiB
    难度
    9
    标签
    递交数
    10
    已通过
    8
    上传者