#5000
Aurel s-a pregătit pentru ninsoare, dar zăpada care s-a așezat aseară tot i-a dat bătăi de cap. Aleea pe care trebuie să o deszăpezească Aurel este formată din 𝑛 dale pătrate, pozițiile acestora fiind numerotate în ordine, de la stânga la dreapta, de la 1 la 𝑛. Fiind un tip meticulos, înainte de a se apuca de treabă, Aurel a determinat cantitatea de zăpadă (exprimată în grame) care s-a așezat pe fiecare dintre cele 𝑛 dale și a notat cu z[𝑖] cantitatea de zăpadă existentă pe dala 𝑖 (1 ≤ 𝑖 ≤ 𝑛). Pentru a curăța aleea, el trebuie să mute toată zăpada de pe alee, în stânga sau în dreapta acesteia. Pentru simplitate, vom considera că zona din stânga aleii are poziția 0, iar zona din dreapta aleii are poziția 𝑛 + 1.
Pentru deszăpezire, Aurel a cumpărat 40 de lopeți speciale, numerotate de la 0 la 39. Cu lopata 𝑘 (0 ≤ 𝑘 ≤ 39) Aurel poate muta cel mult 2𝑘 grame de zăpadă de pe dala pe care se află aceasta pe o poziție alăturată, la stânga sau la dreapta, deci de pe poziția 𝑖 (1 ≤ 𝑖 ≤ 𝑛) pe poziția 𝑖 − 1 sau pe poziția 𝑖 + 1, pentru această acțiune consumând 𝑘 + 1 calorii.
Pentru a fi eficient, Aurel a decis să împartă aleea în două zone. Prima zonă conține toate dalele situate pe poziții mai mici sau egale cu 𝑥, iar a doua zonă conține toate dalele de poziții strict mai mari decât 𝑥. El va folosi lopețile
pentru a muta toată zăpada din prima zonă pe poziția 0 și toată zăpada din a doua zonă pe poziția 𝑛 + 1.
Cunoscând numărul de dale și zăpada acumulată pe fiecare dală, scrieți un program care să rezolve următoarele cerințe:
𝑥, determinați numărul total minim de calorii consumate de Aurel pentru a deszăpezi aleea;𝑥 pentru care numărul total de calorii consumate de Aurel pentru deszăpezirea aleii este minim; dacă există mai multe astfel de valori, să se determine cea mai mică dintre acestea.ONI 2026, clasa a 8-a
| Problema | Zapada1 | Operații I/O |
zapada1.in/zapada1.out
|
|---|---|---|---|
| Limita timp | 0.3 secunde | Limita memorie |
Total: 8 MB
/
Stivă 8 MB
|
| Id soluție | #64743729 | Utilizator | |
| Fișier | zapada1.cpp | Dimensiune | 835 B |
| Data încărcării | 27 Mai 2026, 11:39 | Scor/rezultat | 24 puncte |
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0.001 secunde | OK. | 3 | 3 | ||
| 2 | 0.001 secunde | OK. | 3 | 3 | ||
| 3 | 0.001 secunde | OK. | 3 | 3 | ||
| 4 | 0.001 secunde | OK. | 3 | 3 | ||
| 5 | 0.002 secunde | OK. | 3 | 3 | ||
| 6 | 0.006 secunde | OK. | 3 | 3 | ||
| 7 | 0.009 secunde | OK. | 3 | 3 | ||
| 8 | 0.012 secunde | OK. | 3 | 3 | ||
| 9 | 0.001 secunde | Raspuns gresit. | 3 | 0 | ||
| 10 | 0.001 secunde | Raspuns gresit. | 3 | 0 | ||
| 11 | 0.001 secunde | Raspuns gresit. | 3 | 0 | ||
| 12 | 0.001 secunde | Raspuns gresit. | 3 | 0 | ||
| 13 | 0.001 secunde | Raspuns gresit. | 3 | 0 | ||
| 14 | 0.001 secunde | Raspuns gresit. | 3 | 0 | ||
| 15 | 0.001 secunde | Raspuns gresit. | 3 | 0 | ||
| 16 | 0.002 secunde | Raspuns gresit. | 3 | 0 | ||
| 17 | 0.008 secunde | Raspuns gresit. | 3 | 0 | ||
| 18 | 0.003 secunde | Raspuns gresit. | 3 | 0 | ||
| 19 | 0.004 secunde | Raspuns gresit. | 3 | 0 | ||
| 20 | 0.004 secunde | Raspuns gresit. | 3 | 0 | ||
| 21 | 0.004 secunde | Raspuns gresit. | 3 | 0 | ||
| 22 | 0.005 secunde | Raspuns gresit. | 3 | 0 | ||
| 23 | 0.007 secunde | Raspuns gresit. | 3 | 0 | ||
| 24 | 0.007 secunde | Raspuns gresit. | 3 | 0 | ||
| 25 | 0.007 secunde | Raspuns gresit. | 3 | 0 | ||
| 26 | 0.006 secunde | Raspuns gresit. | 3 | 0 | ||
| 27 | 0.007 secunde | Raspuns gresit. | 3 | 0 | ||
| 28 | 0.008 secunde | Raspuns gresit. | 3 | 0 | ||
| 29 | 0.012 secunde | Raspuns gresit. | 3 | 0 | ||
| 30 | 0.012 secunde | Raspuns gresit. | 3 | 0 | ||
| 31 | 0.012 secunde | Raspuns gresit. | 3 | 0 | ||
| 32 | 0.013 secunde | Raspuns gresit. | 3 | 0 | ||
| 33 | 0.012 secunde | Raspuns gresit. | 4 | 0 | ||
| Punctaj total | 24 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Zapada1 face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.