La bodega de la cápsula
- O(2ⁿ) · Legendaria
- Plan completo
- Python
- JavaScript
- recursión
- listas
- comparaciones
Enunciado
La cápsula de regreso tiene una bodega pequeña y un límite de kilos que no se negocia. El comandante Farid Benali tiene que decidir qué experimentos de la estación bajan a la Tierra y cuáles se quedan arriba. Un experimento no se puede partir: viaja completo o no viaja.
Escribe una función que reciba pesos y puntos, dos listas de enteros positivos del mismo largo (el experimento i pesa pesos[i] kilos y vale puntos[i] puntos de ciencia; las dos pueden venir vacías), y limite, un entero de 0 en adelante. Regresa un entero: la mayor suma de puntos que puedes cargar sin que la suma de sus pesos pase de limite. Llegar justo al límite sí se vale.
Con pesos [5, 4, 3], puntos [10, 7, 7] y límite 7: el de 5 kilos es el que más vale, pero con él ya no cabe nada más y te quedas en 10; con los de 4 y 3 kilos llegas a 14, así que regresa 14. Con pesos [2, 3, 4], puntos [3, 4, 5] y límite 1 no cabe ninguno: regresa 0.
Ejemplos
El ejemplo
[5, 4, 3], [10, 7, 7], 7 → 14
Nada cabe
[2, 3, 4], [3, 4, 5], 1 → 0
Lo que más rinde por kilo no conviene
[1, 10], [2, 15], 10 → 15
Cabe todo
[2, 2, 3], [4, 5, 6], 10 → 15
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def carga(pesos, puntos, limite):
passJavaScript
function carga(pesos, puntos, limite) {
}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.