#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 | #64747918 | Utilizator | |
| Fișier | difsub.cpp | Dimensiune | 900 B |
| Data încărcării | 27 Mai 2026, 15:58 | Scor/rezultat | Eroare de compilare |
difsub.cpp: In function ‘void adunare_arbore(vectoras, long long int&)’: difsub.cpp:18:18: error: invalid types ‘vectoras [1001][vectoras*]’ for array subscript 18 | s+= x.val + v[x.st].val + v[x.dr].val; | ^ difsub.cpp:18:32: error: invalid types ‘vectoras [1001][vectoras*]’ for array subscript 18 | s+= x.val + v[x.st].val + v[x.dr].val; | ^ difsub.cpp:19:22: error: could not convert ‘x.vectoras::st’ from ‘vectoras*’ to ‘vectoras’ 19 | adunare_arbore(x.st, s); | ~~^~ | | | vectoras* difsub.cpp:20:22: error: request for member ‘dr’ in ‘s’, which is of non-class type ‘long long int’ 20 | adunare_arbore(s.dr, s); | ^~ difsub.cpp: In function ‘int main()’: difsub.cpp:31:13: error: base operand of ‘->’ has non-pointer type ‘vectoras’ 31 | v[i]->st = st; | ^~ difsub.cpp:32:19: error: expected unqualified-id before ‘=’ token 32 | v[i].dr-> = dr; | ^ difsub.cpp:44:27: error: could not convert ‘v[top].vectoras::st’ from ‘vectoras*’ to ‘vectoras’ 44 | adunare_arbore(v[top].st, s_st); | ~~~~~~~^~ | | | vectoras* difsub.cpp:24:15: warning: unused variable ‘j’ [-Wunused-variable] 24 | int n, i, j, x, st, dr, top = 0; | ^ difsub.cpp:25:25: warning: unused variable ‘s_dr’ [-Wunused-variable] 25 | long long s_st = 0, s_dr = 0; | ^~~~ difsub.cpp:42:15: warning: unused variable ‘s’ [-Wunused-variable] 42 | long long s = 0; | ^
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ă.