#673
Se dă un arbore binar care conține valori numere naturale. Să se determine diferența în valoare absolută a sumei valorilor memorate în subarborele stâng al rădăcinii și suma valorilor memorate în subarborele drept al rădăcinii.
Notă: pentru reprezentarea arborelui se recomandă alocarea statică, folosind tablouri.
| Problema | DifSub | Operații I/O |
difsub.in/difsub.out
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64620987 | Utilizator | |
| Fișier | difsub.cpp | Dimensiune | 626 B |
| Data încărcării | 19 Mai 2026, 08:12 | Scor/rezultat | 100 puncte |
difsub.cpp: In function ‘int main()’: difsub.cpp:15:11: warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 15 | fscanf(f,"%d",&n); | ~~~~~~^~~~~~~~~~~ difsub.cpp:18:15: warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 18 | fscanf(f,"%d%d%d",&inf[i],&st[i],&dr[i]); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ difsub.cpp:26:32: warning: ‘r’ may be used uninitialized [-Wmaybe-uninitialized] 26 | int d=fabs(suma(st[r])-suma(dr[r])); | ~~~~^~~~~~~ difsub.cpp:14:9: note: ‘r’ was declared here 14 | int r; | ^
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0.002 secunde | OK. | 20 | 20 | Exemplu | |
| 2 | 0.001 secunde | OK. | 40 | 40 | ||
| 3 | 0.001 secunde | OK. | 40 | 40 | ||
| Punctaj total | 100 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema DifSub 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ă.