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)