Se dă un șir de numere asupra căruia se pot face două tipuri de operații: actualizare a unui element (schimbarea valorii sale) și interogarea unui interval de indici (determinarea celui mai mare divizor comun pentru valorile aflate între cei doi indici, inclusiv).
| Problema | Actualizare Element, CMMDC Interval | Operații I/O |
aecmmdci.in/aecmmdci.out
|
|---|---|---|---|
| Limita timp | 0.2 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #65023191 | Utilizator | |
| Fișier | actualizare_element,_cmmdc_interval.cpp | Dimensiune | 2.16 KB |
| Data încărcării | 18 Iulie 2026, 12:22 | Scor/rezultat | Eroare de compilare |
actualizare_element,_cmmdc_interval.cpp: In function ‘void build(int, int, int)’: actualizare_element,_cmmdc_interval.cpp:18:18: error: ‘gcd’ was not declared in this scope 18 | aint[node] = gcd(aint[2 * node], aint[2 * node + 1]); | ^~~ actualizare_element,_cmmdc_interval.cpp: In function ‘void update_recursiv(int, int, int, int, int)’: actualizare_element,_cmmdc_interval.cpp:31:18: error: ‘gcd’ was not declared in this scope 31 | aint[node] = gcd(aint[2 * node], aint[2 * node + 1]); | ^~~ actualizare_element,_cmmdc_interval.cpp: In function ‘ll query_recursiv(int, int, int, int, int)’: actualizare_element,_cmmdc_interval.cpp:46:12: error: ‘gcd’ was not declared in this scope 46 | return gcd(query_recursiv(2 * node, left, middle, query_left, middle), query_recursiv(2 * node + 1, middle + 1, right, middle + 1, query_right)); | ^~~ actualizare_element,_cmmdc_interval.cpp: In function ‘int main()’: actualizare_element,_cmmdc_interval.cpp:56:42: warning: format ‘%d’ expects argument of type ‘int*’, but argument 2 has type ‘ll*’ {aka ‘long long int*’} [-Wformat=] 56 | for (int i = 1; i <= n; i++) scanf("%d", &v[i]); | ~^ ~~~~~ | | | | | ll* {aka long long int*} | int* | %lld actualizare_element,_cmmdc_interval.cpp:52:12: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 52 | freopen("aecmmdci.in", "r", stdin); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ actualizare_element,_cmmdc_interval.cpp:53:12: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 53 | freopen("aecmmdci.out", "w", stdout); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ actualizare_element,_cmmdc_interval.cpp:55:20: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 55 | int n, m; scanf("%d", &n); | ~~~~~^~~~~~~~~~ actualizare_element,_cmmdc_interval.cpp:56:39: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 56 | for (int i = 1; i <= n; i++) scanf("%d", &v[i]); | ~~~~~^~~~~~~~~~~~~ actualizare_element,_cmmdc_interval.cpp:59:10: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 59 | scanf("%d", &m); | ~~~~~^~~~~~~~~~ actualizare_element,_cmmdc_interval.cpp:61:28: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 61 | int op, x, y; scanf("%d %d %d", &op, &x, &y); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Actualizare Element, CMMDC Interval 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ă.