其他分享
首页 > 其他分享> > P5661 [CSP-J2019] 公交换乘

P5661 [CSP-J2019] 公交换乘

作者:互联网

#include<bits/stdc++.h>
using namespace std;
struct node{
    int p;
    int t;
    int g;
}a[100005];
int vis[100005];
int main(){
    int n,ans=0;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%d %d %d",&a[i].g,&a[i].p,&a[i].t);
        if(a[i].g==0){
            ans+=a[i].p;
        //    cout<<"i= "<<i<<" p="<<a[i].p<<endl;
        }else {
            int flag=0;
            int st=max(0,i-45);
            for(int j=st;j<i;j++){
                if(a[j].t+45>=a[i].t&&a[j].g==0&&a[j].p>=a[i].p&&!vis[j]){
                    vis[j]=1;
                    flag=1;
                    break;
                }else {
                    
                }
            }
            if(!flag)ans+=a[i].p;
        }
    }
    printf("%d\n",ans);
}

标签:P5661,int,scanf,vis,flag,&&,ans,J2019,CSP
来源: https://blog.csdn.net/shj12w31z23x/article/details/120586951