Ну во-первых, непонятно, что такое "переполнение кэша". Кэш переполняться не может. Переполняться может стек.Если "на меньших значениях" работает, а на реальных данных - нет, вот это как раз и есть ошибка в программе. Например, в Питоне глубина рекурсии ограничена примерно 1000. Поэтому если у него решение с обработкой списка рекурсией, то если глубина рекурсии будет равна 100, то решение будет работать, а если больше - то уже не будет. То есть такая программа принципиально не будет работать на больших данных, а вы говорите - "ну работает же на 100, значит, правильно!".