Saltar al contenido

Los caballos del kan

Enunciado

Por el correo del kan, un mensaje cruza la estepa de posta en posta, y en cada posta el jinete cambia de caballo. Batu, el caballerizo, no gasta forraje en caballos que sobran. Un caballo supera a otro si corre igual o más y aguanta igual o más, y es mejor en al menos una de las dos; el caballo superado se queda en el corral.

Escribe una función que reciba velocidad y aguante, dos listas de enteros del mismo largo: el caballo i tiene velocidad[i] y aguante[i] (pueden venir vacías). Regresa un entero: cuántos caballos no son superados por ningún otro. Dos caballos idénticos no se superan entre sí; los dos se quedan, salvo que un tercero los supere.

Con velocidad [5, 3, 4, 2] y aguante [1, 4, 3, 2], el caballo 3, con (2, 2), queda superado por el 2, con (4, 3), que es mejor en las dos.

Al 2 no lo supera nadie: el 0 no le llega en aguante ni el 1 en velocidad. El 0 es el más veloz y el 1 el que más aguanta, así que tampoco caen. Se quedan 3. Con listas vacías, 0.

Ejemplos

  • El del ejemplo

    [5, 3, 4, 2], [1, 4, 3, 2] → 3

  • Empata en uno y gana en el otro

    [5, 5], [3, 4] → 1

  • Dos caballos idénticos

    [4, 4], [6, 6] → 2

  • Nadie gana en las dos

    [1, 2, 3, 4], [4, 3, 2, 1] → 4

  • Uno solo supera a todos

    [9, 1, 2, 3], [9, 4, 2, 1] → 1

Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.

Empiezas con esto

Python

def sin_rival(velocidad, aguante):
    pass

JavaScript

function sinRival(velocidad, aguante) {
}
Resolver este reto

Se abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.

Más retos de O(n²)

Ver todos los retos →