Reparto del oro

Un grupo de piratas se reparte unas monedas de oro. La cantidad que recibe cada uno puede representarse mediante un array:

[3, 9, 4, 5, 5]
// El pirata 1 tiene 3 de oro, el pirata 2 tiene 9 de oro, etc.

La diferencia entre la cantidad de oro de cada pirata y la del pirata más rico se representa así:

[6, 0, 5, 4, 4]
// Ya que 6 = 9 - 3, 0 = 9 - 9, 4 = 9 - 5, etc.

Los piratas tienen un agudo sentido de la justicia, y un pirata matará a los demás si considera que recibió muy poco. Cada pirata tiene un umbral de desigualdad único: la diferencia máxima que está dispuesto a tolerar antes de matar a sus compañeros.

Con el reparto de oro anterior:

[5, 0, 5, 5, 5]
// Los piratas mueren, ya que 5 < 6.
// 5 es el umbral de desigualdad del pirata 1 y 6 es su diferencia de oro.

[7, 0, 5, 5, 5]
// El pirata 1 está conforme, ya que 7 > 6.
// Los demás piratas también están conformes.

Dado un reparto de monedas y un array de umbrales de desigualdad, crea una función que devuelva true si algún pirata mata a los demás, o false en caso contrario.

Ejemplos

pirates_killed([3, 5, 8, 3, 4], [10, 4, 2, 5, 5]); // ➞ false

pirates_killed([3, 5, 8, 3, 4], [10, 4, 2, 5, 1]); // ➞ true

pirates_killed([3, 3, 10], [7, 7, 0]); // ➞ false

pirates_killed([3, 3, 10], [6, 6, 0]); // ➞ true

Notas

  • Un pirata mata a los demás si la diferencia entre su cantidad de oro y la del pirata más rico es estrictamente mayor que su umbral de desigualdad.
  • Los arrays del reparto de oro y de los umbrales de desigualdad siguen el mismo orden (p. ej., el pirata 1 ocupa el índice 0 en ambos arrays, el pirata 2 ocupa el índice 1 en ambos arrays, etc.).