Насчет перегруженного кода своя специфика - готовлю 10-й класс к олимпиаде. Программирование у них первый год, только-только списки прошли, так что стараюсь писать развернутые решения. Кроме того в задачах много общего - немалую часть можно переносить из одной в другую практически без изменений. Ну и плюс, намного проще отладка.
По поводу решения - данные берутся из input.txt и записываются в output.txt и их может быть очень много. Простые тесты проходит на ура, а вот длинные не тянет.