0分求助!!!!样例全过!
查看原帖
0分求助!!!!样例全过!
486799
BlackPanda楼主2022/6/14 22:21
#include <bits/stdc++.h>
using namespace std;

struct Node{
    int a,b,c; 
}a[100005];

struct N{
    int ti,mo;
};

long long ans;
int n;
queue<N> q;

int main(){
    std::ios::sync_with_stdio(false);
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i].a>>a[i].b>>a[i].c;
    }
    for(int i=1;i<=n;i++){
        if(a[i].a == 1){    //公交车
            if(!q.empty()){
                N ts;
                int tb;
                tb=a[i].c;
                bool flag1=1;
                while(!q.empty()){
                    ts=q.front();
                    q.pop();
                    //bool flag=1;
                    if((a[i].b <= ts.mo) && (tb-ts.ti<=45)){
//                        cout<<"i-"<<i<<endl;
                        //flag=0; //用过了
                        flag1=0;
                        break;
                    }
                    //if(flag)q.push(ts);     //如果没用过,再加回去
                }
                if(flag1)   ans+=a[i].b;
            }
        }
        else{//地铁
            N ss;   
            ss={a[i].c,a[i].b};
            q.push(ss);
            ans+=a[i].b;
        }
    }
    cout<<ans;
    return 0;
}
2022/6/14 22:21
加载中...