能帮忙看看这代码溢出在哪里么?
编译通过,但是以一运行就溢出,连输入都没输入就溢出,是数组开得太大吗
#include<bits/stdc++.h>
using namespace std;
struct rec
{
string xh;
int df;
int cf;
int zf;
};
int main()
{
struct rec pin;
struct rec a1[200001];
struct rec a2[200001];
struct rec a3[200001];
struct rec a4[200001];
int n,l,h;
int q1,q2,q3,q4;
q1=0;
q2=0;
q3=0;
q4=0;
cin>>n>>l>>h;
int i;
for(i=1;i<=n;i++)
{
cin>>pin.xh>>pin.df>>pin.cf;
if ((pin.df>=l)&&(pin.cf>=l))
{
if((pin.df>=h)&&(pin.cf>=h))
{
q1++;
a1[q1]=pin;
a1[q1].zf=pin.df+pin.cf;
}
else if(pin.df>=h)
{
q2++;
a2[q2]=pin;
a2[q2].zf=pin.df+pin.cf;
}
else if(pin.df>=pin.cf)
{
q3++;
a3[q3]=pin;
a3[q3].zf=pin.df+pin.cf;
}
else
{
q4++;
a4[q4]=pin;
a4[q4].zf=pin.df+pin.cf;
}
}
}
return 0;
}
struct rec a1[200001];
struct rec a2[200001];
struct rec a3[200001];
struct rec a4[200001];
就这几个就80万了,每个算20字节就16MB了,堆栈肯定溢出