Saltar al contenido

El ron para el viaje

Enunciado

"Si un solo día falta ron, la tripulación se amotina", avisa la cocinera del Albatros. Ya sabes cuánto ron entra o sale cada día de la travesía, y quieres cargar lo justo antes de zarpar.

Escribe una función que reciba dias, una lista de enteros (positivo si ese día entran barriles, negativo si salen; puede venir vacía), y regrese un entero: los barriles mínimos con los que hay que zarpar para que la cuenta al cierre de cada día nunca baje de 0. Quedarse en 0 está bien. Con [3, -5, 2, -4, 6], zarpando con 0 la cuenta va 3, -2, 0, -4 y 2. Lo más bajo es -4, así que hay que zarpar con 4. Fíjate que no es la suma final (2) ni el peor día (-5). Si la cuenta nunca baja de 0, o la lista viene vacía, la respuesta es 0: nunca es negativa.

Ejemplos

  • El del ejemplo

    [3, -5, 2, -4, 6] → 4

  • Todos los días sale ron

    [-2, -3, -1] → 6

  • Nunca baja de 0

    [5, -3, 4] → 0

  • Toca el 0 y no pasa de ahí

    [2, -2, 5] → 0

  • El peor día no es el punto más bajo

    [4, -6, 10, -9, 1] → 2

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

Empiezas con esto

Python

def ron_inicial(dias):
    pass

JavaScript

function ronInicial(dias) {
}
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)

Ver todos los retos →