求大神看看哪里有问题
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int z=1;
long long ans;
long long a[10000001],b[10000001];//地铁记录
long long gj[10000001],jg[10000001],sj[10000001];//gj工具;jg价格;sj时间
int main()
{
long long n;
cin>>n;
for(long long i=1;i<=n;i++)
{
cin>>gj[i]>>jg[i]>>sj[i];
if(gj[i]==0)
{
a[i]=jg[i];
b[i]=sj[i];
}
}
for(long long i=1;i<=n;i++)
{
if(gj[i]==1)//如果是公交,需查找有无合适优惠券
{
for(long long d=1;d<=i;d++)
{
if(a[d]!=0&&b[d]+45>=sj[i]&&a[d]>=jg[i])
{
if(z=1)
{
a[d]=0;//优惠成功,免费乘坐
z=0;
break;
}
}
}
if(z=1)
ans+=jg[i];//优惠失败,价格正常计算
}
if(gj[i]==0)
ans+=jg[i];
}
cout<<ans;
return 0;
}