Почему эта программа показывает ошибку времени выполнения на этом входе? - PullRequest
0 голосов
/ 30 сентября 2019

Я получаю ошибку времени выполнения для третьего ввода из этой проблемы на Uva. Я не знаю, где мой код ломается.

https://uva.onlinejudge.org/index.php?option=onlinejudge&page=show_problem&problem=349

#include <bits/stdc++.h>
using namespace std;

int main() {
    long int  step,mod,i=0,temp;
    cin >> step >> mod;
    int count[mod+1] = {0};
    count[0] = 1;
    vector<int> seed;
    seed.push_back(0);
    while(true)
    {
        seed[i+1] = (seed[i]%mod + step%mod)%mod;
        temp = seed[i+1];
        if(temp == 0)
        {
            break;
        }
        count[temp] +=  1;
        ++i;
    }
    bool flag = true;
    for(int i=0; i<mod; i++)
    {
        if(count[i] <= 0)
            {
                flag = 0;
                break;
            }
    }
    if(flag)
        cout << "Numbers have been generated\n";
    else
        cout << "Wrong choice\n";
    return 0;
}

Ответ должен быть «хороший выбор», то есть вывод должен быть Numbers have been generated в моей программе, но он показываетошибка во время выполнения.

...