#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 | #61651269 | Utilizator | |
| Fișier | difsub.cpp | Dimensiune | 520 B |
| Data încărcării | 05 Decembrie 2025, 08:41 | Scor/rezultat | Eroare de compilare |
difsub.cpp: In function 'int main()': difsub.cpp:26:20: warning: pointer to a function used in arithmetic [-Wpointer-arith] fout<<abs(sum[r])-sum(d[r]); ^ difsub.cpp:26:21: error: call of overloaded 'abs(int (&)(int))' is ambiguous fout<<abs(sum[r])-sum(d[r]); ^ difsub.cpp:26:21: note: candidates are: In file included from /usr/include/c++/4.8/cstdlib:72:0, from /usr/include/c++/4.8/ext/string_conversions.h:41, from /usr/include/c++/4.8/bits/basic_string.h:2815, from /usr/include/c++/4.8/string:52, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from difsub.cpp:1: /usr/include/stdlib.h:775:12: note: int abs(int) <near match> extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur; ^ /usr/include/stdlib.h:775:12: note: no known conversion for argument 1 from 'int(int)' to 'int' In file included from /usr/include/c++/4.8/ext/string_conversions.h:41:0, from /usr/include/c++/4.8/bits/basic_string.h:2815, from /usr/include/c++/4.8/string:52, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from difsub.cpp:1: /usr/include/c++/4.8/cstdlib:174:3: note: long long int std::abs(long long int) <near match> abs(long long __x) { return __builtin_llabs (__x); } ^ /usr/include/c++/4.8/cstdlib:174:3: note: no known conversion for argument 1 from 'int(int)' to 'long long int' /usr/include/c++/4.8/cstdlib:166:3: note: long int std::abs(long int) <near match> abs(long __i) { return __builtin_labs(__i); } ^ /usr/include/c++/4.8/cstdlib:166:3: note: no known conversion for argument 1 from 'int(int)' to 'long int'
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ă.