Saltar al contenido

Las bolsas de Mansa Musa

Enunciado

Mali, 1324. Antes de partir hacia La Meca, Mansa Musa pone una fila de bolsas de oro frente a dos griots de su corte, Kouyaté y Diabaté, y les propone un juego. Por turnos, empezando por Kouyaté, cada uno toma una bolsa de una de las dos puntas de la fila, la de la izquierda o la de la derecha, hasta que no quede ninguna. Cada quien se queda con lo que tomó. Los dos son listos: cada uno juega para llevarse lo más posible, sabiendo que el otro hace lo mismo.

Escribe una función que reciba bolsas, una lista de enteros de 1 en adelante con las monedas de cada bolsa, en el orden de la fila (a lo más 12 bolsas; puede venir vacía). Regresa un entero: cuántas monedas se lleva Kouyaté si los dos juegan lo mejor posible.

Con [3, 9, 1, 2]: si Kouyaté toma la punta más grande, el 3, le deja el 9 a Diabaté y termina con 5. Le conviene tomar el 2: tome lo que tome Diabaté, el 9 queda en una punta para Kouyaté, que se lleva 2 + 9 = 11. Con [5, 3, 7, 10] se lleva 15: toma el 10, Diabaté el 7, él el 5 y Diabaté el 3. Sin bolsas, 0.

Ejemplos

  • El ejemplo

    [3, 9, 1, 2] → 11

  • El segundo ejemplo

    [5, 3, 7, 10] → 15

  • Número impar de bolsas

    [1, 5, 2] → 3

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

Empiezas con esto

Python

def mejor_botin(bolsas):
    pass

JavaScript

function mejorBotin(bolsas) {
}
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 →