#5001
Fermierul Amooot merge la magazinul de furaje pentru a achiziționa amestecuri de iarbă pentru pășunatul vacilor sale. Vânzătorul Popică, viclean de fel, îi prezintă un șir V de N oferte; însă, pentru ca Amooot să poată achiziționa hrana, acesta va trebui neapărat să selecteze o subsecvență canonică de oferte!
Spunem că o subsecvență A[i], A[i+1], … , A[j] , 1 ≤ i ≤ j ≤ N este canonică dacă A[k] % A[i] = 0, pentru orice k, i ≤ k ≤ j. De exemplu, în șirul (3, 4, 2, 10, 4, 12, 3), subsecvențe canonice sunt (2, 10) sau (2, 10, 4, 12), dar nu și subsecvența (10, 4, 12).
Văzând condițiile impuse de Popică, Amooot își pune două întrebări:
V?V?ONI 2026, clasa a 9-a
| Problema | Canonic | Operații I/O |
canonic.in/canonic.out
|
|---|---|---|---|
| Limita timp | 1 secunde | Limita memorie |
Total: 32 MB
/
Stivă 8 MB
|
| Id soluție | #64705559 | Utilizator | |
| Fișier | canonic.cpp | Dimensiune | 1.66 KB |
| Data încărcării | 25 Mai 2026, 10:27 | Scor/rezultat | Eroare de compilare |
canonic.cpp: In function ‘long long int gcd_query(int, int)’: canonic.cpp:13:12: error: ‘gcd’ was not declared in this scope 13 | return gcd(st[k][l], st[k][r - (1 << k) + 1]); | ^~~ canonic.cpp: In function ‘int main()’: canonic.cpp:46:24: error: ‘LOG’ was not declared in this scope 46 | for(int k = 1; k < LOG; k++) { | ^~~ canonic.cpp:48:24: error: ‘gcd’ was not declared in this scope 48 | st[k][i] = gcd( | ^~~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Canonic 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ă.