Le défi est de trouver le nombre maximum que vous pouvez obtenir à partir d'une liste d'entiers à l'aide d'opérateurs arithmétiques de base (addition, soustraction, multiplication, négation unaire)
Contribution
Une liste d'entiers
Production
Le résultat maximum en utilisant chaque entier dans l'entrée.
L'ordre d'entrée n'a pas d'importance, le résultat doit être le même.
Vous n'avez pas besoin de sortir l'opération complète, juste le résultat.
Exemples
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))
Règles
Victoires de code les plus courtes
Des «failles» standard s'appliquent
Vous ne pouvez utiliser que les opérateurs + * - (addition, multiplication, soustraction, négation unaire)
Le code doit fonctionner tant que le résultat peut être stocké sur un entier 32 bits.
Tout comportement de débordement dépend de vous.
J'espère que c'est assez clair, c'est ma première suggestion de défi Code Golf.