#1855
Heap
Se consideră o colecție de numere naturale, inițial vidă. Asupra ei se fac două tipuri de operații:
1 x
– valoarea x
se adaugă în colecție;2
– cea mai mare valoare din colecție se afișează, apoi se elimină din colecție.Dându-se un șir de m
operații, să se afișeze în ordine rezultatele operațiilor de tip 2
.
Problema | Heap | Operații I/O |
heap.in /heap.out
|
---|---|---|---|
Limita timp | 0.3 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #10170112 | Utilizator | |
Fișier | heap.cpp | Dimensiune | 1.36 KB |
Data încărcării | 22 August 2018, 03:07 | Scor / rezultat | Eroare de compilare |
heap.cpp: In function 'void down(hp*, int)': heap.cpp:22:10: warning: unused variable 'aux' [-Wunused-variable] long aux; ^ heap.cpp: In function 'int main()': heap.cpp:46:24: error: invalid conversion from 'void*' to 'hp* {aka heap*}' [-fpermissive] h=malloc(sizeof(hp)); ^ heap.cpp:54:29: warning: format '%d' expects argument of type 'int*', but argument 3 has type 'long int*' [-Wformat=] fscanf(f,"%d",&y); ^ heap.cpp:56:52: error: invalid conversion from 'void*' to 'long int*' [-fpermissive] h->v=realloc(h->v,(h->n+1)*sizeof(long)); ^ heap.cpp:67:52: error: invalid conversion from 'void*' to 'long int*' [-fpermissive] h->v=realloc(h->v,(h->n+1)*sizeof(long)); ^ heap.cpp:44:22: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(f,"%d",&m); ^ heap.cpp:51:26: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(f,"%d",&x); ^ heap.cpp:54:30: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(f,"%d",&y); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Heap 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ă.