Nombre Password [ Regístrate ]

Sellos (OIE 3 - 1999)

 

El servicio de correos quiere determinar la combinación óptima de valores de sellos según ciertas características. Se sabe que la superficie estándar de las cartas permite que pueden pegarse hasta un máximo de h sellos en el sobre. El servicio de correos está interesado en una emisión de sellos de k valores diferentes a determinar, múltiplos de 1 peseta (no se admiten céntimos).

Dados h y k como se acaban de definir, se pide calcular el valor máximo n de pesetas tal que se pueden generar todos los valores entre 1 y n pesetas. Por ejemplo, si h = 3 (caben un máximo de 3 sellos en los sobres) y k = 2 (el servicio de correos contempla hasta 2 valores diferentes), el valor n es igual a 7, siendo los dos valores 1 y 3 pesetas:

1 pta. = 1 sello de 1 pta.
2 pta. = 2 sellos de 1 pta.
3 pta. = 1 sello de 3 pta.
4 pta. = 1 sello de 3 pta. + 1 sello de 1 pta.
5 pta. = 1 sello de 3 pta. + 2 sellos de 1 pta.
6 pta. = 2 sellos de 3 pta.
7 pta. = 2 sellos de 3 pta. + 1 sello de 1 pta.
8 pta. = IMPOSIBLE

Entrada

Residente en el fichero de caracteres "SELL.DAT": varias líneas conteniendo cada una dos valores para h y k. Podéis suponer que los valores de h y k se pueden representar con una única cifra (carácter entre '1' y '9'). Las cifras se separan con un único blanco. No hay ningún otro tipo de caracteres ni al inicio ni al final de la línea.

Salida

A guardar en el fichero de caracteres "SELL.OUT": para cada línea de la entrada, una línea conteniendo: primero, el valor n, y segundo, los valores usados para generar este n, en orden creciente de valor. Estos datos se separan por un único blanco; no hay ningún otro tipo de caracteres ni al inicio ni al final de la línea.

Ejemplo de entrada

3 2
2 1

Ejemplo de salida

7 1 3
2 1



© (2001-2008) ALGORITMIA.NET - Política de privacidad