Saltar al contenido

Raciones para los comensales

Enunciado

—Aquí nadie se va con hambre —dice la chef Valeria, y mira la barra. Cada comensal queda satisfecho con una ración de al menos el tamaño de su hambre, y cada ración se sirve entera a una sola persona. Valeria no desperdicia: a quien come poco no le da la ración grande que otro necesita.

Escribe una función que reciba hambre y raciones, dos listas de enteros positivos (pueden venir vacías y de largos distintos), y regrese el mayor número de comensales que pueden quedar satisfechos con una ración cada uno. Una ración del mismo tamaño que el hambre alcanza; una más chica no le sirve a esa persona, pero quizá sí a otra.

Con [3, 1, 4] y [2, 5, 1, 3]: al de 1 le toca la de 1, al de 3 la de 3 y al de 4 la de 5. Son 3, y la de 2 sobra. Si una lista está vacía, 0.

Ejemplos

  • El del ejemplo

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

  • Más comensales que raciones

    [5, 2, 8, 3], [4, 6] → 2

  • Las raciones chicas se quedan en la barra

    [7, 7], [1, 2, 3, 8, 9] → 2

  • Ninguna alcanza

    [10, 12], [3, 9] → 0

  • Del tamaño justo

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

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

Empiezas con esto

Python

def satisfechos(hambre, raciones):
    pass

JavaScript

function satisfechos(hambre, raciones) {
}
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 log n)

Ver todos los retos →