Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | euro.in, euro.out | Sursă | BOI 2003 |
Autor | Mihai Patrascu, Mugurel Ionut Andreica | Adăugată de | |
Timp execuţie pe test | 0.175 sec | Limită de memorie | 65536 kbytes |
Scorul tău | N/A | Dificultate |
Vezi solutiile trimise | Statistici
Euro
Aceasta pagina a fost importata din infoarena1 si nu este inca prelucrata. Sterge ==Include(file="template/raw")== cand esti multumit cu continutul paginii. |
---|
Link: [1]File-List
Euro
Tocmai v-ati deschis un nou cont in banca unde veti primi sume de bani in euro. Cand v-ati deschis contul nu ati avut nici euro sau lei in posesie. Pe parcursul urmatoarelor N zile, veti primi diverse sume de euro; aceste sume pot fi negative, caz in care numarul total de euro din cont va scade. Este posibil ca uneori sa aveti o suma negativa de bani in contul vostru. La sfarsitul fiecarei zile banca va permite sa convertiti intreaga suma de euro pe care o aveti in cont in lei. Pretul unui euro variaza dupa urmatoarea regula: in timpul celei de-a K-a zile, un euro poate fi schimbat cu K lei. Banca va cere un comision de T lei pentru fiecare conversie. Astfel, daca la sfarsitul zilei K aveti S euro in cont si decideti sa ii convertiti veti primi S * K - T lei in schimbul lor (bineinteles, S poate fi negativ). La sfarsitul zilei N veti fi obligati sa va convertiti toata suma de bani din cont in lei, chiar daca aceasta este nepozitiva.
Cerinta
Obiectivul vostru este sa maximizati suma de lei pe care o veti avea la sfarsitul zilei N.
Date de Intrare
Prima linie a fisierului de intrare euro.in contine doua numere intregi, N si T, separate prin spatii. Urmatoarea linie contine N numere intregi ce reprezinta numarul de euro pe care il veti primi la inceputul fiecarei zile.
Date de Iesire
Fisierul de iesire euro.out contine un singur numar ce reprezinta suma maxima de lei pe care o puteti obtine.
Restrictii si precizari
1 <= N <= 34567
0 <= T <= 34567
80% dintre teste vor avea T <= 255
numarul de euro pe care il veti primii in fiecare zi este un intreg cuprins in intervalul [-1000, 1000]
este permis sa convertiti doar euro in lei, si nu lei in euro
pentru rezultat este recomandata folosirea tipurilor int64 sau extended in Pascal si long long sau long double in C/C++ (depinzand ce preferati, numere reale sau intregi); se garanteaza ca rezultatul se incadreaza in aceste tipuri de date, dar s-ar putea sa fie prea mare pentru alte tipuri de date mai mici
Exemplu
euro.in euro.out Explicatii
7 1 17 La sfarsitul primei zile veti schimba cei -10 ce i-ati primit pentru -11=-10*1-1 lei. A doua conversie are loc la sfarsitul zilei 5 cand veti avea -1 euro in cont (3-2+4-6). Suma de lei pe care o obtineti este -6=(3-2+4-6)*5-1. Veti efectua ultima conversie la sfarsitul zilei 7, folosind ultimii 5 euro din cont (2+3). Suma de lei pe care o obtineti este 34=(2+3)*7-1. Suma finala de lei pe care o obtineti este 17=-11-16+34.
-10 3 -2 4 -6 2 3
References
Visible links
1. file:///home/eval/eval/www/infoarena/docs/arhiva/euro/enunt_files/filelist.xml