我在下面的代码中收到此 SIGABRT 错误,为什么会收到此错误?

时间:2021-03-19 06:32:08

标签: runtime-error

void solve()
{
    ll n,k;  
    string s;
    cin>>n>>k>>s;
    ll xorr[n];
    xorr[0]=s[0];
    loop(i,1,s.length()-1)
    {
        xorr[i]=xorr[i-1]^s[i];
    }
    ll mxor=0;
    ll p=0;
    ll num;
    loop(i,1,s.length()-1)
    {
        s.erase(s.begin()+i-1);
        num=stoi(s);
        if(num%k==0)
        {
            if(xorr[i]>mxor)
            {
                mxor=xorr[i];
                p=num;
            }
        }
    }
    if(p==0)
    {
        cout<<"-1";
    }
    else
    {
        cout<<p;
    }
}

ll 是 long long int 的宏。

为什么我在函数 solve() 中收到 SIGABRT 错误? 看起来代码完全没问题,我在 HackerEarth 的在线 ide 上运行它。

0 个答案:

没有答案