Lo siento, sigo sin entender. Si el problema es como lo planteas (lo que llamé reglas), entonces tu código está bien y la solución que das como óptima para el valor 10 está mal.
Ahora, si la solución que diste como óptima está bien, lo que haz planteado mal son las reglas del juego. En dicho caso deberías corregir el enunciado.
Saludos!