Los dulces del campamento
- O(n²) · Muy difícil
- Plan completo
- Python
- JavaScript
- listas
- ciclos
- comparaciones
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):
passJavaScript
function totalDulces(puntajes) {
}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.