#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 | #64163112 | Utilizator | |
| Fișier | canonic.cpp | Dimensiune | 714 B |
| Data încărcării | 21 Aprilie 2026, 10:07 | Scor/rezultat | Eroare de compilare |
canonic.cpp:6:1: error: expected ‘,’ or ‘;’ before ‘long’ 6 | long long int c,n,i,nr,j,a[500000],maxi; | ^~~~ canonic.cpp: In function ‘int main()’: canonic.cpp:9:10: error: ‘c’ was not declared in this scope 9 | cin>>c>>n; | ^ canonic.cpp:9:13: error: ‘n’ was not declared in this scope 9 | cin>>c>>n; | ^ canonic.cpp:10:9: error: ‘i’ was not declared in this scope 10 | for(i=1; i<=n; i++) | ^ canonic.cpp:12:14: error: ‘a’ was not declared in this scope 12 | cin>>a[i]; | ^ canonic.cpp:16:13: error: ‘i’ was not declared in this scope 16 | for(i=1; i<n; i++) | ^ canonic.cpp:18:13: error: ‘j’ was not declared in this scope 18 | j=i+1; | ^ canonic.cpp:19:19: error: ‘a’ was not declared in this scope 19 | while(a[i]!=0 and a[j]%a[i]==0 and j<=n) | ^ canonic.cpp:21:20: error: ‘maxi’ was not declared in this scope 21 | if(j-i>maxi) | ^~~~ canonic.cpp:24:15: error: ‘maxi’ was not declared in this scope 24 | cout<<maxi; | ^~~~ canonic.cpp:28:13: error: ‘i’ was not declared in this scope 28 | for(i=1; i<n; i++) | ^ canonic.cpp:30:13: error: ‘j’ was not declared in this scope 30 | j=i+1; | ^ canonic.cpp:31:19: error: ‘a’ was not declared in this scope 31 | while(a[i]!=0 and a[j]%a[i]==0 and j<=n) | ^ canonic.cpp:33:13: error: ‘nr’ was not declared in this scope 33 | nr+=j-i-1; | ^~ canonic.cpp:35:15: error: ‘nr’ was not declared in this scope 35 | cout<<nr; | ^~
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ă.