Diferente pentru problema/kmalloc intre reviziile #11 si #10

Nu exista diferente intre titluri.

Diferente intre continut:

== include(page="template/taskheader" task_id="kmalloc") ==
_“Yellow sun, its evil twin,_
 _In the black, the winds deliver him"_
“Yellow sun, its evil twin, In the black, the winds deliver him"
Umanitatea se află în pragul colapsului nuclear. Dr. Merkwürdigliebe proiectează un sistem de operare pentru ghidarea rachetelor. Supravieţuirea umanităţii depinde de algoritmul de alocare a memoriei, implementat de funcţia kmalloc. Această funcţie primeşte un singur parametru size, număr natural, identifică o zonă continuă liberă de memorie de mărime $2^size^$ şi returnează adresa de început a acesteia. După acest moment, zona respectivă de memorie devine ocupată. Sistemul de operare are la dispoziţie $N$ octeţi numerotaţi de la $0$ la $N-1$. Se dau $P$ intervale continue de memorie, care sunt rezervate deja şi nu pot fi folosite pentru alocare. Funcţia kmalloc va fi apelată până la întâlnirea lui $-1$.
Umanitatea se află în pragul colapsului nuclear. Dr. Merkwürdigliebe proiectează un sistem de operare pentru ghidarea rachetelor. Supravieţuirea umanităţii depinde de algoritmul de alocare a memoriei, implementat de funcţia kmalloc. Această funcţie primeşte un singur parametru size, număr natural, identifică o zonă continuă liberă de memorie de mărime 2^size^ şi returnează adresa de început a acesteia. După acest moment, zona respectivă de memorie devine ocupată. Sistemul de operare are la dispoziţie $N$ octeţi numerotaţi de la $0$ la $N-1$. Se dau $P$ intervale continue de memorie, care sunt rezervate deja şi nu pot fi folosite pentru alocare. Funcţia kmalloc va fi apelată până la întâlnirea lui $-1$.
Programul pe care îl veţi scrie pentru a salva umanitatea va furniza o implementare a funcţiei kmalloc şi nu va citi şi nu va scrie din/în niciun fişier. În schimb, programul vostru va interacţiona cu un program al comisiei care ruleazǎ în paralel.
• Programatorilor în $C$ li se recomandă să apeleze $"fflush(stdout);"$ după ce au terminat de scris o linie completă la ieşire.
• Programatorilor în $C++$ care folosesc streamuri li se recomandă $"cout.flush();"$ după ce au terminat de scris o linie completă la ieşire.
• Programatorilor în $Pascal$ li se recomandă să apeleze $"flush(output);"$ după ce au terminat de scris o linie completă la ieşire.
Recomandăm ca programatorii $C/C++$ care citesc datele cu funcţia $scanf()$, să nu specifice marcajul de sfârşit de linie $'\n'$ în şirul care descrie formatul de citire. De exemplu, citirea valorilor variabilelor $N$ şi $P$ se va realiza astfel: $scanf("%lld %d", &N, &P)$;
Recomandăm ca programatorii $C/C++$ care citesc datele cu funcţia $scanf()$, să nu specifice marcajul de sfârşit de linie $'\n'$ în şirul care descrie formatul de citire. De exemplu, citirea valorilor variabilelor $N$ şi $P$ se va realiza astfel: scanf("%lld %d", &N, &P);
h2. Restricţii

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.