#1492
Bunicul
Mă gândeam la execuția unui program care calculează formula fericirii. Am o problemă cu alocarea memoriei. În unele cazuri programul poate rula, iar în altele nu. Programul funcționează corect dacă se alocă memorie în primul spațiu liber din zona de date, în ordinea în care variabilele sunt declarate. De asemenea, adresa de memorie a unei variabile succede adresa de memorie a oricărei variabile declarate înaintea ei.
Cunoscând dimensiunea memoriei M
, numărul de zone ocupate N
, numărul R
de variabile declarate, cele N
intervalele de memorie ocupate, precum și spațiul ocupat de fiecare din cele R
variabile, să se determine:
a) Dimensiunea totală disponibilă pentru variabilele folosite.
b) Adresele de memorie pentru fiecare variabilă în parte în cazul în care alocarea memoriei este posibilă, respectând cerința problemei, sau numărul de variabile ce au putut fi alocate și adresa maximă la care este salvată o variabilă de memorie.
Olimpiada locală de Informatică, Prahova, 2016
Problema | Bunicul | Operații I/O |
![]() bunicul.in /bunicul.out
|
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 5 MB
/
Stivă 5 MB
|
Id soluție | #49686961 | Utilizator | |
Fișier | bunicul.cpp | Dimensiune | 1.06 KB |
Data încărcării | 12 Martie 2024, 10:29 | Scor / rezultat | Eroare de compilare |
bunicul.cpp: In function 'int main()': bunicul.cpp:24:83: error: expression cannot be used as a function if((v[j]<=start && v[j+10000]>=start) (v[j]>=start && v[j]<=start+x-1) v[j]==start) ^ bunicul.cpp:24:86: error: expected ')' before 'v' if((v[j]<=start && v[j+10000]>=start) (v[j]>=start && v[j]<=start+x-1) v[j]==start) ^ bunicul.cpp:13:35: warning: unused variable 'st' [-Wunused-variable] int mem,ocupat,deocupat,sum=0,st,dr,v[20002],x,start=0,cnt=0,maxi,memory[20002]; ^ bunicul.cpp:13:38: warning: unused variable 'dr' [-Wunused-variable] int mem,ocupat,deocupat,sum=0,st,dr,v[20002],x,start=0,cnt=0,maxi,memory[20002]; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Bunicul 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ă.