Nos é dada uma lista de números inteiros p1, ..., pk (não necessariamente distintos) em que cada um tem um valor entre 1 e 9, inclusive. Usando cada um dos p1, ..., pk exatamente uma vez, podemos formar concatenações de dígitos, para obter uma nova lista de números; Em seguida, produzimos o produto desta nova lista. O objetivo é maximizar este produto escolhendo as melhores concatenações de dígitos.
Por exemplo, recebemos a lista: 2 3 2 (separados por espaços). Podemos formar as seguintes concatenações:
2 3 2
(o produto dessas concatenações é12
)23 2
(o produto é46
)32 2
(o produto é64
)22 3
(o produto é66
)
Como o maior produto que podemos formar de concatenações é 66, produzimos isso.
Regras:
- Deve haver pelo menos uma multiplicação (ou seja, você não pode simplesmente concatenar todos os dígitos e produzir isso).
- Você não pode usar outros operadores além da multiplicação ou inserir parênteses etc.
- Suponha que a lista de números inteiros fornecida seja separada por espaços e que todos os números inteiros tenham valores entre 1 e 9.
O código mais curto (em bytes) vence!
Casos de teste:
Entrada: 1 2 3
; Saída: 63
(ie, 21*3
)
Entrada: 2 5 9
; Saída: 468
( 52*9
)
Entrada: 1 2 3 4
; Saída: 1312
( 41*32
)