В целом, задача вполне понятна и как она решается, тоже было ясно. В голове быстро "написал алгоритм", но с переносом его в код возникли проблемы. Посмотрел решение авторов. Алгоритм я понял правильно, но... Собственно, все вопросы указал в комментариях кода. Заранее благодарен