Завдання полягає у пошуку максимальної кількості, яку можна отримати зі списку цілих чисел, використовуючи основні арифметичні оператори (додавання, віднімання, множення, одинарне заперечення)
Вхідні дані
Список цілих чисел
Вихідні дані
Максимальний результат з використанням кожного цілого числа вхідного сигналу.
Порядок введення не має значення, результат повинен бути однаковим.
Вам не потрібно виводити повну операцію, а лише результат.
Приклади
Input : 3 0 1
Output : 4 (3 + 1 + 0)
Input : 3 1 1 2 2
Output : 27 ((2+1)*(2+1)*3))
Input : -1 5 0 6
Output : 36 (6 * (5 - (-1)) +0)
Input : -10 -10 -10
Output : 1000 -((-10) * (-10) * (-10))
Input : 1 1 1 1 1
Output : 6 ((1+1+1)*(1+1))
Правила
Найкоротший код виграє
Застосовуються стандартні «лазівки»
Ви можете використовувати лише оператори + * - (додавання, множення, віднімання, одинарне заперечення)
Код повинен працювати до тих пір, поки результат може бути збережений у 32-бітовому цілому.
Будь-яка поведінка переповнення залежить від вас.
Я сподіваюся, що це досить зрозуміло, це моя перша пропозиція Code Golf щодо виклику.