Похоже, ваша программа выдает исключение, которое вы не перехватываете. В расширенном тестовом фреймворке есть несколько обработчиков исключений, которые могут быть быстрым способом локализации местоположения исключения.
Есть ли в древовидной структуре индексы, которые могли бы переполниться? Используете ли вы индексы в векторе, которые выходят за пределы текущего размера вектора?
new vector...
vector.push_back()
vector.push_back()
vector[0] = xyz
vector[1] = abc
vector[2] = slsk // Uh,oh, outside vector
Насколько велик ваш самый большой входной набор? Вы заканчиваете тем, что выделяете элементы размера * размера? Если так, ваш самый большой набор входных данных больше 65536 элементов (65536 * 65536 == MAX_INT)?
Я согласен, что наиболее вероятная причина того, что среда IDE работает нормально, когда не работает автономная, заключается в том, что отладчик очищает память до 0 или использует средства защиты памяти вокруг выделенной памяти.
Если что-то еще не удастся, можно ли уменьшить размер набора данных, пока вы не найдете точно работающий размер и немного большой пример, который не работает - это может быть информативно.