Se nos da una lista de enteros p1, ..., pk (no necesariamente distintos) donde cada uno tiene un valor entre 1 y 9, inclusive. Usando cada uno de los p1, ..., pk exactamente una vez, podemos formar concatenaciones de dígitos, para lograr una nueva lista de números; Luego sacamos el producto de esta nueva lista. El objetivo es maximizar este producto eligiendo las mejores concatenaciones de dígitos.
Por ejemplo, se nos da la lista: 2 3 2 (separados por espacios). Podemos formar las siguientes concatenaciones:
2 3 2(producto de estas concatenaciones es12)23 2(producto es46)32 2(producto es64)22 3(producto es66)
Dado que el producto más grande que podemos formar de concatenaciones es 66, lo sacamos.
Reglas:
- Debe haber al menos una multiplicación (es decir, no puede concatenar todos los dígitos y generarlos).
- No puede usar ningún otro operador que no sea la multiplicación, o insertar paréntesis, etc.
- Suponga que la lista de enteros dada está separada por espacios, y todos los enteros tienen valores entre 1 y 9.
¡El código más corto (en bytes) gana!
Casos de prueba:
Entrada 1 2 3:; Salida: 63(es decir, 21*3)
Entrada 2 5 9:; Salida: 468( 52*9)
Entrada 1 2 3 4:; Salida: 1312( 41*32)