El Acróbata de Circo.


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 64M

Authors:
Problem type
Allowed languages
Ada, Assembly, Awk, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Lua, Pascal, Perl, Prolog, Python, Scala, Swift, VB

Colgada de lo más alto de la carpa de un circo hay una escalera de peldaños. Un acróbata del circo siempre asciende y desciende de la siguiente manera: cuando él asciende en cada paso sube N peldaños de la escalera y cuando desciende en cada paso baja M peldaños de la escalera, donde N y M son enteros positivos fijos. Mediante una secuencia de pasos de ascenso y descenso el acróbata puede realizar su presentación, que consiste en subir desde lo más bajo de la escalera hasta el último peldaño y después bajar desde el último peldaño hasta lo más bajo de la escalera. Determinar el número mínimo de peldaños que debe tener la escalera para que el acróbata pueda mediante una secuencia de pasos realizar su presentación. El acróbata puede arribar más de una vez a un mismo escalón.

Escriba un programa que: calcule el número mínimo de peldaños que debe tener la escalera para que el acróbata pueda hacer su presentación, y la secuencia de pasos que debe seguir para esto.

Entrada

La entrada contiene en su única línea los enteros N y M separados por un espacio (1 \leq N, M \leq 10^9).

Salida

La salida contiene en la primera línea el número mínimo de peldaños que debe tener la escalera del acróbata. En la segunda la línea la secuencia de pasos es descrita mediante una cadena de caracteres. Un carácter + indica que el acróbata debe subir y un carácter - indica que el acróbata debe bajar.

Ejemplo de Entrada

4 7

Ejemplo de Salida

10
++-++-++-+-

Descripción

0 + 4 + 4 – 7 + 4 + 4 – 7 + 4 + 4 = 10

10 – 7 + 4 – 7 = 0

Note que el acróbata no puede bajar M pasos si no está a una altura suficiente para esto.


Comments

There are no comments at the moment.