Saltar al contenido

Los tres cristales

Enunciado

"Tres cristales, ni uno más", te advierte la hechicera antes de la última puerta. El hechizo que abre la puerta fusiona tres de los cristales de tu inventario, y su poder es el producto de sus cargas. Escribe una función que reciba cargas, una lista de enteros con al menos tres elementos, y regrese un entero: el producto más grande que puedes lograr multiplicando tres de ellos. Cada cristal se usa una vez, pero dos cristales distintos pueden tener la misma carga.

Con [4, 1, 7, 2] eliges 4, 7 y 2, y el poder es 4 × 7 × 2 = 56.

Ojo: hay cristales malditos, con carga negativa, y también de carga 0. Un negativo por otro negativo da positivo. Si todas las opciones dan un poder negativo, regresas el menos malo, el más cercano a 0.

Ejemplos

  • El del ejemplo

    [4, 1, 7, 2] → 56

  • Justo tres cristales

    [3, 5, 2] → 30

  • Un maldito que no conviene

    [-10, 1, 2, 3] → 6

  • Dos malditos que no alcanzan

    [-1, -2, 4, 5, 6] → 120

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

Empiezas con esto

Python

def poder_maximo(cargas):
    pass

JavaScript

function poderMaximo(cargas) {
}
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 →