1 条题解

  • 0
    @ 2025-9-28 19:46:57
    #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(){
    	scanf("%d",&n);
    	for(int i=1;i<=n;i++){
    		scanf("%d%d%d",&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];
    		}
    	}
    	printf("%d",ans);
    }
    
    
    • @ 2025-9-28 19:47:29

      已经懒到不想写标题了

  • 1

信息

ID
777
时间
1000ms
内存
256MiB
难度
10
标签
递交数
2
已通过
1
上传者