欢迎指导
代码如下
#include<bits/stdc++.h>
using namespace std;
struct node{
int bors;
int time;
int money;
bool cheap;
};
node data[1001];
int n,ticket=0;
void find(int n,int m){
for(int k=1;k<=n;k++){
if(data[k].cheap==false||data[k].money<data[m].money||data[k].time-data[m].time>45)
ticket+=data[m].money;
else ticket+=0;
}
return;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>data[i].bors>>data[i].money>>data[i].time;
if(i==1)
ticket+=data[i].money;
if(data[i].bors==0)
data[i].cheap=true;
else data[i].cheap=false;
}
for(int i=1;i<=n;i++){
if(data[i].bors==0)
ticket=ticket+data[i].money;
else find(n,i);
}
cout<<ticket<<endl;
return 0;
}