0
已解决
乔俊驰
资深守护
资深守护
#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-07-04 14:53:44追加了内容
求解!!!