Saltar al contenido

La bodega de la cápsula

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):
    pass

JavaScript

function carga(pesos, puntos, limite) {
}
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(2ⁿ)

Ver todos los retos →