Hay que reconocer que el codigo de kctus es una currada
, cuando estes programando y veas que hay muchos ifs seguidos replanteate el codigo porque seguro que debe haber otra solucion. No se si sabras algo de costes de algoritmos pero tu codigo es un pelin ineficiente en cuanto a costes.
Ala a practicar mas.