La cuenta más barata
- O(n log n) · Difícil
- Plan completo
- Python
- JavaScript
- ordenar
- listas
- índices
Enunciado
El sábado en el mercado, el marchante de la fruta te ofrece un trato raro: tú le dices cuántos kilos llevas de cada fruta, él te da una lista de precios por kilo, y tú decides qué precio va con qué fruta. Quieres pagar lo menos.
Escribe una función que reciba cantidades y precios, dos listas de enteros positivos del mismo largo (pueden venir vacías), y regrese un entero: el total más bajo posible. Cada cantidad se multiplica por un precio, y cada precio se usa exactamente una vez.
Con cantidades 2 y 5 y precios 10 y 4: 5 kilos a 4 y 2 a 10 dan 40; al revés, 5 a 10 y 2 a 4 dan 58. La respuesta es 40.
Con las listas vacías no pagas nada: regresas 0.
Ejemplos
El del ejemplo
[2, 5], [10, 4] → 40
Tres frutas
[2, 5, 3], [4, 10, 7] → 61
Lo más pesado, con lo barato
[1, 8], [2, 9] → 25
Una sola fruta
[4], [6] → 24
Precios iguales
[3, 1], [5, 5] → 20
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def cuenta(cantidades, precios):
passJavaScript
function cuenta(cantidades, precios) {
}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.