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 |