Menu
CoddyTech

Rod Cutting Problem

Tienes una varilla de longitud n, donde n = prices.length. Una pieza de longitud k se vende por prices[k-1]. Puedes cortar la varilla en tantas piezas de longitudes enteras como quieras, o venderla de una sola pieza. Devuelve la mayor cantidad de dinero que puedes ganar al venderla entera.

Función

cutRod(prices: integer-array) → integer
pricesinteger-array
prices[k-1] es el precio de una pieza de longitud k; la varilla tiene una longitud de prices.length
Devuelveinteger
la mayor cantidad de dinero que puede ganar toda la caña

Restricciones

  • 1 ≤ prices.length ≤ 1000
  • 1 ≤ prices[i] ≤ 105

Ejemplos

Entrada
prices = [2, 5, 7, 8]
Salida
10
Explicación
Dos piezas de longitud 2 se venden por 5 + 5 = 10. Vender la varilla entera genera 8, y una pieza de 1 más una pieza de 3 genera 2 + 7 = 9.
challenge icon

Para ir más allá

¿Y si puedes cortar la varilla como máximo m veces? ¿Qué necesita saber entonces cada entrada de la tabla?

Restablecer código
def cutRod(prices):
    # Escribe el código aquí

Prueba #1

Prueba #2

Prueba #3

Argumento

prices = [2, 5, 7, 8]

Salida Esperada

10