为什么RE加一片绿
查看原帖
为什么RE加一片绿
1162593
chty楼主2024/10/22 17:44
#include <bits/stdc++.h>
using namespace std;
struct sdf{
    long long t,c,h;
}arr[10005],brr[10005];
long long ans;
int crr[10005];
int main(){

    int n;
    cin>>n;
    int l=1,r=1;
    for(int i=1;i<=n;i++){
        long long a,b,c;
        cin>>a>>b>>c;
        if(a==1){
            arr[l].t=c;
            arr[l].h=i;
            arr[l].c=b;
            l++;
        }else{
            brr[r].h=i;
            brr[r].t=c;
            brr[r].c=b;
            r++;
            ans+=b;
            
        }
    }
int y=1;
    for(int i=1;i<=l;i++){
        while(arr[i].t>brr[y].t+45){
            y++;
        }
        int ui=0;
        for(int j=y;j<=r&&brr[j].t<=arr[i].t;j++){
            if(brr[j].c>=arr[i].c&&crr[j]==0){
                ui=1;
                crr[j]=1;
                break;
            }
        }
        if(ui==0) ans+=arr[i].c;
    }
    cout<<ans<<endl;
}

QWQ
分数传送门

2024/10/22 17:44
加载中...