Saltar al contenido

Los dulces del campamento

Enunciado

Marisol reparte los dulces al final del día de campamento. Los niños ya están en fila, cada uno con su puntaje, y ella quiere gastar lo menos posible sin que nadie reclame.

Recibes la lista de puntajes en el orden de la fila (enteros; puede venir vacía). Cada niño recibe al menos un dulce, y el que tiene más puntaje que un vecino pegado, el de junto a su izquierda o a su derecha, recibe más dulces que ese vecino. Con puntajes iguales no hay regla: a cualquiera de los dos le puede tocar menos. Regresa el mínimo total de dulces, como entero. Sin niños, es 0.

Con [3, 1, 2, 2]: el 1 recibe 1; el 3 y el primer 2 le ganan al 1 y reciben 2 cada uno; el último 2 empata con su vecino y le basta 1. Regresas 6.

Ejemplos

  • El ejemplo

    [3, 1, 2, 2] → 6

  • El de en medio es el más bajo

    [1, 0, 2] → 5

  • La fila va de mayor a menor

    [5, 4, 3, 2, 1] → 15

  • La fila va de menor a mayor

    [1, 2, 3, 4] → 10

  • Sube y luego baja

    [1, 3, 5, 4, 2, 1] → 13

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

Empiezas con esto

Python

def total_dulces(puntajes):
    pass

JavaScript

function totalDulces(puntajes) {
}
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 →