Raciones para los comensales
- O(n log n) · Difícil
- Plan completo
- Python
- JavaScript
- listas
- ordenar
- ciclos
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):
passJavaScript
function satisfechos(hambre, raciones) {
}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.