Нам дан список целых чисел p1, ..., pk (не обязательно различимых), где каждое имеет значение от 1 до 9 включительно. Используя каждый из p1, ..., pk ровно один раз, мы можем сформировать конкатенацию цифр, чтобы получить новый список чисел; затем мы выводим произведение этого нового списка. Цель состоит в том, чтобы максимизировать этот продукт, выбирая лучшие комбинации цифр.
Например, нам дают список: 2 3 2 (разделенные пробелами). Мы можем сформировать следующие объединения:
2 3 2
(продукт этих объединений есть12
)23 2
(продукт есть46
)32 2
(продукт есть64
)22 3
(продукт есть66
)
Поскольку наибольшим продуктом, который мы можем сформировать, является 66, мы выводим его.
Правила:
- Должно быть хотя бы одно умножение (т. Е. Вы не можете просто объединить все цифры и вывести их).
- Вы не можете использовать другие операторы, кроме умножения, или вставлять скобки и т. Д.
- Предположим, что указанный список целых чисел разделен пробелами, и все целые числа имеют значения от 1 до 9.
Самый короткий код (в байтах) побеждает!
Тестовые случаи:
Входные данные : 1 2 3
; Выход: 63
(т.е. 21*3
)
Входные данные : 2 5 9
; Выход: 468
( 52*9
)
Входные данные : 1 2 3 4
; Выход: 1312
( 41*32
)