Нам дан список целых чисел 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)