Минут за 5 получился вот такой г.... хм... простенький код, в который не вложено ни капли интеллекта:

Сработало - и ладно. Но смотрим на статистику: по времени выполнения - лучше, чем у 53% участников, а по памяти - лучше, чем у 87% участников. Выборка ведь из тех решений, которые прошли тесты, уложившись в ограничения. Я ничего не
экономил, не оптимизировал, у меня должно было быть одно из худших решений. Я бы написал точно такой же код до поступления на первый курс, тут даже дискретной математики не нужно, простой здравый смысл. Что эти 87% авторов с памятью делали-то вообще?
Глядя на эти результаты, я понимаю, что мы все умрём. Эти 87% пойдут работать в ИТ-структуры, будут программировать беспилотные грузовики, медицинские системы и человекоподобных роботов-полицейских... Со временем их софт будет проектировать заводы, мосты и здания. Кто-нибудь сомневается, что нам всем - хана?
Видимо, действительно, на векторах делают и гоняют строки туда-сюда, а для разбора - стрим (только зачем? strtok проще). Я посмотрел разброс решений по памяти, всплеск - в районе 22 Мб, там явно что-то типовое, чему на каких-нибудь курсах учат.