Неизвестный сигнал 6 на грейдере Coursera, отлично работает в локальной системе

#c #data-structures

#c #структуры данных

Вопрос:

Задача состоит в том, чтобы ввести серию чисел, представляющих родительский узел соответствующих индексированных узлов на основе 0 (если число равно -1, то это корень дерева) и вывести высоту дерева. Написал следующий код

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


void ranking( int  i, int   a, vector <int>  amp;parent, vector <int> amp;rank)
{
    if(rank[i]   1 > rank[a])
    {
        rank[a] = rank[i]   1;

        if(parent[a]!= -1)
        {
            ranking(a, parent[a], parent, rank);
        }
        
    }

}

 int  main()
{
     int  n;
    cin >> n;
    int  a;

    vector <int>   parent(n);
    vector <int>   rank(n, 0);

    for ( int  i=0; i<n; i  )
        {
            cin>> parent[i];
            if(parent[i] < 0)
                a=i;
        }

    for ( int  i=0; i<n; i  )
    {
        ranking(i, parent[i], parent, rank);
    }

    cout << rank[a]   1<< endl;

    

    return 0;
}
  

Код работает правильно в моей системе, но показывает неизвестный сигнал 6 на Coursera grader. Пожалуйста, помогите мне понять, что здесь может быть не так, я не имею большого представления о том, как программы обрабатывают память