En este caso, un algoritmo similar al siguiente lo haría mejor: