La fila de los pingüinos
- O(n²) · Muy difícil
- Plan completo
- Python
- JavaScript
- condicionales
- ciclos
- listas
Enunciado
A la hora de la comida, los pingüinos del centro de rescate se forman frente a Thandiwe Mokoena, la cuidadora, con la cubeta de pescados. Ella vigila a uno que viene de una fractura y quiere saber cuántos pescados habrá repartido en total cuando ese pingüino termine de comer.
Recibes pescados, una lista de enteros mayores que 0 con al menos un elemento: lo que quiere cada pingüino, en el orden de la fila. Y k, la posición del pingüino vigilado, contando desde 0 (siempre es válida). En cada turno, el del frente recibe un pescado. Si todavía le falta, se forma al final de la fila; si ya completó lo suyo, se va a nadar. Regresa cuántos pescados se han repartido en el momento en que el pingüino k recibe el último suyo, contando ese.
Con [2, 3, 1] y k 1 (el que quiere 3), los turnos son: 0, 1, 2 (se va), 0 (se va), 1, 1 (se va). El vigilado completa en el sexto pescado: regresas 6.
Ejemplos
El ejemplo
[2, 3, 1], 1 → 6
Un solo pingüino
[4], 0 → 4
Todos quieren uno
[1, 1, 1, 1], 2 → 3
Todos quieren lo mismo
[3, 3, 3], 1 → 8
El vigilado va al frente
[5, 1, 2], 0 → 8
El vigilado va al final
[2, 5, 1, 4], 3 → 11
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def pescados_hasta(pescados, k):
passJavaScript
function pescadosHasta(pescados, k) {
}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.