问题标题: 酷町堂:4422 公交换乘(transfer)

0
0
已解决
陈曦
陈曦
资深天翼
资深天翼
#include<iostream>
#include<cstdio>
using namespace std;
int n,a[100005],b[100005],c[100005],f; 
int subway,bus,sum;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i]>>b[i]>>c[i];
        if(a[i]==0){     //乘地铁 
            subway++;    //付钱 
            if(c[i]<=45){//可以获得优惠票吗 
                f++;     //可以,获得一张。 
            }
        }
        else{            //乘公交
            if(f){       //还有优惠票 
                f--;     //消耗一张优惠票
                b[i]=0;  //这次乘车免费 
            }   
            else         //没有优惠票了 
                bus++;   //付钱 
        }

    } 
    for(int i=1;i<=n;i++){
        sum+=b[i];
    }
    cout<<sum;
    return 0;
}

思路对吗


0
0
0
0
我要回答