求调
查看原帖
求调
915921
DougNo1楼主2024/7/14 10:18

代码:

#include <iostream>
using namespace std;
struct st{
    bool x;
    int p,t;
};
st a[100010];
int n,c[100010];
bool b[100010];
void input(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i].x>>a[i].p>>a[i].t;
    }
}
void work(){
    int sum=0,cc=1;
    for(int i=1;i<=n;i++){
        if(a[i].x==0){//地铁
            sum+=a[i].p;
            b[i]=1;
            c[cc]=i;
            cc++;

        }else{//公交车
            for(int j=1;j<cc;j++){
                if(a[j].t-a[c[j]].t<=45 && b[c[j]]==1 && a[j].p<=a[c[j]].p){//可使用优惠券
                    b[c[j]]=0;   
                    break;
                }else{//不可使用优惠券
                    sum+=a[j].p;
                }
            }
        }
    }
    cout<<sum;
}
int main(){
    input();
    work();
    return 0;
}

提交记录

请大佬们帮我调一下代码!

2024/7/14 10:18
加载中...