Нам надається перелік цілих чисел 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
)