Puntuación de los dados

Greed es un juego que se juega con cinco dados de seis caras. Tu misión es calcular la puntuación de una tirada según estas reglas:

 Tres dados con 1 => 1000 puntos
 Tres dados con 6 =>  600 puntos
 Tres dados con 5 =>  500 puntos
 Tres dados con 4 =>  400 puntos
 Tres dados con 3 =>  300 puntos
 Tres dados con 2 =>  200 puntos
 Un dado con 1   =>  100 puntos
 Un dado con 5   =>   50 puntos

Estos ejemplos muestran cómo se calcula la puntuación:

 Lanzamiento       Puntaje
 ---------   ------------------
 5 1 3 4 1   250:  50 (por el 5) + 2 * 100 (por los 1)
 1 1 1 3 1   1100: 1000 (por tres 1) + 100 (por el otro 1)
 2 4 4 5 4   450:  400 (por tres 4) + 50 (por el 5)

Crea una función que reciba un arreglo con los cinco valores de la tirada de dados de seis caras y devuelva la puntuación final calculada de los dados.

Ejemplos

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

Un mismo dado solo puede contabilizarse una vez en cada tirada. Por ejemplo, un "5" determinado solo puede contabilizarse como parte del trío (aportando los 500 puntos) o como un solo dado con un valor de 50 puntos, pero no de ambas formas en la misma tirada.