Wyzwanie polega na znalezieniu maksymalnej liczby, jaką można uzyskać z listy liczb całkowitych za pomocą podstawowych operatorów arytmetycznych (dodawanie, odejmowanie, mnożenie, jednoznaczna negacja)
Wejście
Lista liczb całkowitych
Wynik
Maksymalny wynik przy użyciu każdej liczby całkowitej w wartości wejściowej.
Kolejność wprowadzania nie ma znaczenia, wynik powinien być taki sam.
Nie musisz generować pełnej operacji, tylko wynik.
Przykłady
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))
Zasady
Najkrótszy kod wygrywa
Standard „luki” stosuje się
Możesz używać tylko operatorów + * - (dodawanie, mnożenie, odejmowanie, jednoargumentowe negowanie)
Kod powinien działać, dopóki wynik może być przechowywany na 32-bitowej liczbie całkowitej.
Każde przepełnienie należy do Ciebie.
Mam nadzieję, że jest to wystarczająco jasne, to moja pierwsza propozycja wyzwania Code Golf.