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]); // ➞ trueNotas
- 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.).