Entrevista de programación imaginaria

Crea una función para comprobar si un candidato está calificado en una entrevista de programación imaginaria de una startup tecnológica imaginaria.

Los criterios para que un candidato esté calificado en la entrevista de programación son:

  1. El candidato debe haber completado todas las preguntas.
  2. El tiempo máximo dado para completar la entrevista es de 120 minutos.
  3. El tiempo máximo dado para las preguntas muy fáciles es de 5 minutos cada una.
  4. El tiempo máximo dado para las preguntas fáciles es de 10 minutos cada una.
  5. El tiempo máximo dado para las preguntas de dificultad media es de 15 minutos cada una.
  6. El tiempo máximo dado para las preguntas difíciles es de 20 minutos cada una.

Si se cumplen todas las condiciones anteriores, devuelve "qualified"; de lo contrario, devuelve "disqualified".

Se te dará un arreglo con el tiempo que tardó un candidato en resolver una pregunta específica y el tiempo total que tardó en completar la entrevista.

Dado un arreglo, en una condición verdadera siempre tendrá el formato [very easy, very easy, easy, easy, medium, medium, hard, hard].

El tiempo máximo para completar la entrevista incluye un margen de 20 minutos.

Ejemplos

interview([5, 5, 10, 10, 15, 15, 20, 20], 120) ➞ "qualified"

interview([2, 3, 8, 6, 5, 12, 10, 18], 64) ➞  "qualified"

interview([5, 5, 10, 10, 25, 15, 20, 20], 120) ➞ "disqualified"
// Exceeded the time limit for a medium question.

interview([5, 5, 10, 10, 15, 15, 20], 120) ➞ "disqualified"
// Did not complete all the questions.

interview([5, 5, 10, 10, 15, 15, 20, 20], 130) ➞ "disqualified"
// Solved all the questions in their respected time limits but exceeded the total time limit of the interview.

Notas

Intenta resolver el problema usando únicamente métodos de arreglos.