Pontuação dos dados

Greed é um jogo disputado com cinco dados de seis faces. Sua missão é calcular a pontuação de uma jogada 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 cinco valores de uma jogada de dados de seis faces e retorne a pontuação dos dados calculada ao final.

Exemplos

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

diceScore([4, 4, 4, 3, 3]) // ➞ 400

diceScore([2, 4, 4, 5, 4]) // ➞ 450

Notas

Cada dado só pode ser contado uma vez em cada jogada. Por exemplo, um "5" específico pode ser contado como parte do trio (contribuindo com os 500 pontos) ou como um único dado que vale 50 pontos, mas não das duas formas na mesma jogada.