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 | #64035763 | Utilizator | |
| Fișier | actualizare_element,_cmmdc_interval.cpp | Dimensiune | 2.53 KB |
| Data încărcării | 10 Aprilie 2026, 07:23 | Scor/rezultat | Eroare de compilare |
actualizare_element,_cmmdc_interval.cpp: In function 'void init(Segtree*, int*, int, int)': actualizare_element,_cmmdc_interval.cpp:29:51: error: invalid conversion from 'void*' to 'Segtree*' [-fpermissive] my_segtree->lChild = calloc(1, sizeof(Segtree)); ^ actualizare_element,_cmmdc_interval.cpp:30:51: error: invalid conversion from 'void*' to 'Segtree*' [-fpermissive] my_segtree->rChild = calloc(1, sizeof(Segtree)); ^ actualizare_element,_cmmdc_interval.cpp:33:22: error: 'recalc' was not declared in this scope recalc(my_segtree); ^ actualizare_element,_cmmdc_interval.cpp: In function 'int query(Segtree*, int, int)': actualizare_element,_cmmdc_interval.cpp:3:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] #define INF 0xffffffff ^ actualizare_element,_cmmdc_interval.cpp:68:12: note: in expansion of macro 'INF' if(q1==INF) ^ actualizare_element,_cmmdc_interval.cpp:3:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] #define INF 0xffffffff ^ actualizare_element,_cmmdc_interval.cpp:70:17: note: in expansion of macro 'INF' else if(q2==INF) ^ actualizare_element,_cmmdc_interval.cpp: In function 'int main()': actualizare_element,_cmmdc_interval.cpp:86:39: error: invalid conversion from 'void*' to 'int*' [-fpermissive] int *v = calloc(n + 1, sizeof(int)); ^ actualizare_element,_cmmdc_interval.cpp:91:49: error: invalid conversion from 'void*' to 'Segtree*' [-fpermissive] Segtree *segtree = calloc(1, sizeof(Segtree)); ^ actualizare_element,_cmmdc_interval.cpp:85:20: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &n); ^ actualizare_element,_cmmdc_interval.cpp:88:27: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &v[i]); ^ actualizare_element,_cmmdc_interval.cpp:95:24: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &steps); ^ actualizare_element,_cmmdc_interval.cpp:97:37: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d%d", &op, &a, &b); ^
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ă.