Saltar al contenido

La vela entre dos mástiles

Enunciado

"Amárrala entre los dos mástiles que quieras", dice la capitana, y te da la vela de repuesto. La vela es un rectángulo: su ancho es la distancia entre las posiciones de los dos mástiles, y su alto, el del más bajo de los dos, porque más arriba no hay de dónde atarla. Los de en medio no estorban.

Escribe una función que reciba mastiles, la lista de alturas en el orden de la cubierta, uno por posición (enteros de 0 en adelante; puede venir vacía). Regresa un entero: el área de la vela más grande que se puede tender. Con menos de dos mástiles no hay vela: regresa 0.

Con [3, 7, 2, 6], entre el 7 (posición 1) y el 6 (posición 3) va una de ancho 2 y alto 6, área 12. Entre el 3 y el 6: ancho 3, alto 3, área 9. Ningún otro par da más, así que la respuesta es 12.

Ejemplos

  • El del ejemplo

    [3, 7, 2, 6] → 12

  • Nueve mástiles

    [1, 8, 6, 2, 5, 4, 8, 3, 7] → 49

  • Solo dos mástiles

    [4, 9] → 4

  • Las puntas ganan

    [5, 1, 1, 1, 5] → 20

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

Empiezas con esto

Python

def vela_mayor(mastiles):
    pass

JavaScript

function velaMayor(mastiles) {
}
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 →