O staţie de gaz are un rezervor subteran în care poate depozita cel mult litri de gaz, dar există posibilitatea depozitării unei cantităţi suplimentare de gaz într-un rezervor închiriat de capacitate nelimitată pentru care se va plăti o taxă de dolari pentru fiecare litru de gaz depozitat de la o zi la alta. Pentru a-şi servi clienţii, staţia se aprovizionează cu gaz cel mult o dată pe zi, dimineaţa. Preţul unui litru de gaz este de dolari. Pentru fiecare aprovizionare trebuie plătită o taxă de dolari în plus faţă de costul gazului comandat. În aceste condiţii, comandarea unei cantităţi mari de gaz poate creşte costul depozitării.
Staţia de gaz se închide după zile. Aceasta livrează clienţilor săi litri de gaz, din stocul său, la sfârşitul fiecărei zile , unde . Problema constă în a alege cantităţile de gaz ce vor fi comandate zilnic, astfel încât la sfârşitul celei de a -a zi întreaga cantitate de pe stoc să fie consumată şi costul total să fie minim. Se consideră că rezervorul este iniţial gol.
Cerință
Scrieţi un program care determină costul total minim pentru ca staţia să îşi servească clienţii în cele zile şi întreaga cantitate de gaz să fie consumată la sfârşitul celei de a -a zi.
Date de intrare
Pe prima linie a fişierului de intrare gaz.in
apar patru numere naturale separate prin câte un spaţiu, , cu semnificaţia din enunţ.
A doua linie conţine numerele naturale , separate prin câte un spaţiu, unde reprezintă numărul zilelor după care staţia va fi închisă şi cantitatea de gaz necesară zilei , .
Date de ieșire
În fişierul de ieşire gaz.out
se va scrie pe prima linie costul total minim cerut.
Restricții și precizări
- Pentru din teste vom avea
Exemplu
gaz.in
5 3 1 1
5 3 2 4 5 1
gaz.out
22
Explicație
O planificare optimă este cea descrisă în continuare.
În dimineaţa primei zile se comandă litri de gaz şi se depozitează în rezervorul propriu. La sfârşitul zilei se livrează litri. Costul primei zilei este . Pe timpul nopţii vor rămâne litri în rezervorul propriu, fără costuri suplimentare.
În a doua zi staţia nu se aprovizionează, dar livrează litri de gaz. Costul acestei zile este .
În dimineaţa celei de a treia zi se comandă litri de gaz, depozitându-se câte litri în fiecare din cele două rezervoare. Seara se livrează litri din rezervorul închiriat. În rezervorul propriu rămân pe timpul nopţii litri de gaz, iar în rezervorul închiriat încă un litru pentru care se va plăti un dolar. La costul total se va aduna dolari.
În dimineaţa zilei a patra staţia nu se aprovizionează, dar seara livrează litri de gaz, unul din rezervorul închiriat şi din rezervorul propriu. În timpul nopţii nu vor fi costuri suplimentare de depozitare.
În ultima zi se va livra ultimul litru de gaz din rezervorul propriu.
Costul total este: .