Saltar al contenido

La bodega del galeón

Enunciado

Lo que no cabe en la bodega se queda en la isla. El botín está apilado en la playa en lotes, y en cada lote todas las cajas valen lo mismo. Todas las cajas ocupan el mismo lugar, y la capitana quiere zarpar con lo más valioso.

Escribe una función que reciba lotes, una lista de textos con la forma "cantidadxvalor" ("4x7" son 4 cajas de 7 monedas cada una; los dos números son enteros de 1 en adelante; la lista puede venir vacía), y espacio, un entero de 0 en adelante: cuántas cajas caben. Regresa un entero: el valor más alto que puedes cargar. De un lote puedes subir solo algunas cajas. Si caben todas, las subes todas.

Con ["4x7", "2x10", "5x3"] y espacio 5: subes las 2 cajas de 10 y 3 de las de 7, y cargas 20 + 21 = 41.

Ejemplos

  • El del ejemplo

    ["4x7", "2x10", "5x3"], 5 → 41

  • Cabe todo

    ["2x5", "1x8"], 10 → 18

  • Sin espacio

    ["3x9"], 0 → 0

  • No hay botín

    [], 6 → 0

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

Empiezas con esto

Python

def botin(lotes, espacio):
    pass

JavaScript

function botin(lotes, espacio) {
}
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 →