Há vários anos, a Hot Wheels fez um simples jogo em flash chamado "Formula Fuelers Racers" *. Para jogar o jogo, você seleciona três ingredientes de uma geladeira para colocar no seu carro, que depois é batido contra o carro gerado aleatoriamente no computador. Acontece que a mecânica deste jogo é bastante simples. Primeiro, o "tempo" real da corrida do seu carro é gerado aleatoriamente e não tem influência sobre se você vence ou não a corrida. Em segundo lugar, o vencedor da corrida é determinado por uma pontuação calculada a partir dos ingredientes selecionados (ingredientes duplicados são permitidos e a ordem é importante). Cada ingrediente possui um "valor" associado e uma "operação" associada, conforme mostrado na tabela a seguir:
# ingredient val op
1 Hot Salsa 2 +
2 Root Beer 1 +
3 Milk 1 +
4 Pickle Juice 2 +
5 Mystery Lunch -3 *
6 BBQ Sauce 2 +
7 Egg 1 +
8 Ketchup 2 +
9 Mustard -1 *
10 Melon 1 +
11 Chocolate Milk 1 +
12 Mayonnaise -2 *
13 Baby Food 0 +
14 Pepper 1 +
15 Salt 2 +
16 Syrup -1 *
17 Salad Dressing 2 +
18 Orange Juice 1 +
19 Soy Sauce 2 +
Por conveniência, esse desafio se refere aos ingredientes pelo número e não pelo nome. Aqui estão as etapas para calcular uma pontuação:
- Primeiro, inicialize a pontuação com o valor do primeiro ingrediente.
- Em seguida, use a operação do segundo ingrediente para combinar a pontuação atual e o valor do segundo ingrediente para obter uma pontuação atualizada.
- Por fim, use a operação do terceiro ingrediente para combinar a pontuação atual e o valor do terceiro ingrediente para obter a pontuação final.
Pontuações mais altas são melhores e sempre superam pontuações mais baixas.
Por exemplo, os ingredientes 1 2 3têm uma pontuação de (2+1)+1 = 4. Os ingredientes 7 5 6têm uma pontuação de (1*-3)+2 = -1. Portanto, 1 2 3bate 7 5 6.
Desafio
Neste desafio, você deve escrever um programa que pega uma lista ordenada de 3 números inteiros e gera a pontuação correspondente.
Entrada
Seu programa pode aceitar uma lista de três números inteiros no formato mais conveniente. Você tem permissão para usar a indexação 1 para os nomes dos ingredientes (como acima) ou a indexação 0 (subtrair 1 de todos os índices acima).
Ouput
Seu programa deve gerar um único número inteiro indicando a pontuação.
Casos de teste
4 5 5 => 18 // max score
5 5 5 => -27 // min score
13 13 13 => 0
1 2 3 => 4
7 5 6 => -1
16 2 19 => 2
19 7 12 => -6
* Esta página está desatualizada e não funciona em alguns navegadores, mas você não precisa jogar o jogo para este desafio.