Saltar al contenido

Las antorchas de la muralla

Enunciado

Ninguna muralla de la frontera del imperio se deja a oscuras. Ésta mide largo pasos y tiene antorchas clavadas en distintos puntos. El centurión las quiere todas con la misma llama: la más chica que no deje ningún tramo sin luz.

Cada antorcha alumbra alcance pasos hacia cada lado. Recibes antorchas, una lista de enteros entre 0 y largo (al menos una, en cualquier orden, y dos pueden estar en el mismo punto), y largo, un entero mayor que 0. Regresa el alcance mínimo para que toda la muralla, del paso 0 al largo, quede alumbrada. Puede traer .5: entre dos antorchas a 5 pasos basta 2.5, porque cada una cubre la mitad. En las puntas nadie ayuda: si la primera está en el paso 4, necesita 4 para llegar al 0, y lo mismo la última hasta largo. Con [12, 4, 9] y largo 20 regresas 8, lo que hay de la última al final.

Ejemplos

  • La punta del final manda

    [12, 4, 9], 20 → 8

  • Dos antorchas a 5 pasos

    [2, 7], 9 → 2.5

  • El hueco de en medio manda

    [0, 10, 4, 16], 16 → 3

  • Revueltas

    [9, 1, 5], 10 → 2

  • Pasos de una y dos cifras

    [40, 5, 12, 30], 45 → 9

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

Empiezas con esto

Python

def alcance(antorchas, largo):
    pass

JavaScript

function alcance(antorchas, largo) {
}
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 log n)

Ver todos los retos →