样例正确,前6个对,但后面14个全超时
查看原帖
样例正确,前6个对,但后面14个全超时
423405
joecat楼主2021/7/4 17:03
#include <iostream>
#include <algorithm>
using namespace std;
int n,ans,vis[1000005];
struct by{
    bool x;
    int y,z;
}a[1000005];
int main() {
	cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i].x>>a[i].y>>a[i].z;
    }
    for(int i=1;i<=n;i++){
        if(a[i].x==0){
            ans+=a[i].y;
        }
        else{
            bool flag=0;
            for(int j=1;j<i;j++){
                if(a[j].x==0&&a[i].z-a[j].z<=45&&a[i].y<=a[j].y&&!vis[j]){//1.是乘坐地铁,2.时间小于45分钟,3.公交票价不大于地铁票价,4.未使用过
                    flag=1;
                    vis[j]=1;
                    break;
                }
            }
            if(!flag)  ans+=a[i].y;
        }
    }
    cout<<ans;
	return 0;
}
2021/7/4 17:03
加载中...