Pontuação dos dados

Greed é um jogo disputado com cinco dados de seis faces. Sua missão é calcular a pontuação de um lançamento de acordo com estas regras:

 Três dados com 1 => 1000 pontos
 Três dados com 6 =>  600 pontos
 Três dados com 5 =>  500 pontos
 Três dados com 4 =>  400 pontos
 Três dados com 3 =>  300 pontos
 Três dados com 2 =>  200 pontos
 Um dado com 1   =>  100 pontos
 Um dado com 5   =>   50 pontos

Estes exemplos mostram como a pontuação é calculada:

 Lançamento       Pontuação
 ---------   ------------------
 5 1 3 4 1   250:  50 (pelo 5) + 2 * 100 (pelos 1)
 1 1 1 3 1   1100: 1000 (por três 1) + 100 (pelo outro 1)
 2 4 4 5 4   450:  400 (por três 4) + 50 (pelo 5)

Crie uma função que receba um array com os cinco valores do lançamento de dados de seis faces e retorne a pontuação final calculada dos dados.

Exemplos

dice_score([2, 3, 4, 6, 2]); // ➞ 0

dice_score([4, 4, 4, 3, 3]); // ➞ 400

dice_score([2, 4, 4, 5, 4]); // ➞ 450

Notas

Um mesmo dado só pode ser contabilizado uma vez em cada lançamento. Por exemplo, um determinado "5" só pode ser contabilizado como parte da trinca (valendo 500 pontos) ou como um único dado que vale 50 pontos, mas não das duas formas no mesmo lançamento.