Es volen mostrar objectes en una paret. L’objecte es trobarà a la posició . Cada objecte tindrà exactament un prestatge horitzontal a sota seu (o just a la mateixa alçada) per aguantar-lo, de manera que els objectes aguantats per un mateix prestatge seran consecutius. Posar cada prestatge costa una constant , independentment de la mida del prestatge. A més, fixar a la paret un objecte que està unitats per sobre del seu prestatge costa . Podeu minimitzar el cost total?
Aquí podeu veure la solució òptima corresponent al primer exemple d’entrada. El cost és .
(70,21)
(0,21) (0,15) (0,11.5) (0,7) (0,4.5) (0,0)
(2,21)(30,21) (2,15)(15,15) (2,11.5)(10,11.5) (2,7)(65,7) (2,4.5)(45,4.5) (2,0)(40,0)
(15,11.5)(15,15) (45,0)(45,4.5) (65,0)(65,7)
(10,11.5)(30,11.5)
(30,21)(40,21)
(40,0)(70,0)
(15,15)0.2 (25,11.5)0.2 (35,21)0.2 (45,4.5)0.2 (55,0)0.2 (65,7)0.2
L’entrada consisteix en diversos casos, cadascun amb i , seguits de les alçades . Podeu suposar , , i .
Per a cada cas, escriviu el cost mínim possible.
La solució esperada és una programació dinàmica amb cost en espai i en temps.
Input
15 6 30 23 42 9 0 14 1 3 10 12 15 3 3 10 12 15 8 3 10 12 15 1000000000 8 0 1000000000 0 1000000000 0 1000000000 0 1000000000
Output
75 3 8 15 5000000000