#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 | #64377049 | Utilizator | |
| Fișier | canonic.cpp | Dimensiune | 1.23 KB |
| Data încărcării | 04 Mai 2026, 12:01 | Scor/rezultat | 59 puncte |
canonic.cpp: In function ‘long long int query(long long int, long long int, long long int, long long int, long long int)’: canonic.cpp:29:3: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] 29 | if(l>y || r<x) | ^~ canonic.cpp:6:13: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’ 6 | #define int long long | ^~~~ canonic.cpp:31:5: note: in expansion of macro ‘int’ 31 | int mid=(l+r)/2; | ^~~
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0.001 secunde | OK. | 3 | 3 | ||
| 2 | 0.002 secunde | OK. | 3 | 3 | ||
| 3 | 0.006 secunde | OK. | 3 | 3 | ||
| 4 | 0.005 secunde | OK. | 3 | 3 | ||
| 5 | 0.512 secunde | OK. | 3 | 3 | ||
| 6 | 0.524 secunde | OK. | 3 | 3 | ||
| 7 | 0.528 secunde | OK. | 3 | 3 | ||
| 8 | 0.507 secunde | OK. | 3 | 3 | ||
| 9 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 10 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 11 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 12 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 13 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 14 | 0.005 secunde | OK. | 3 | 3 | ||
| 15 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 16 | 0.001 secunde | OK. | 3 | 3 | ||
| 17 | 0.002 secunde | OK. | 3 | 3 | ||
| 18 | 0.006 secunde | OK. | 3 | 3 | ||
| 19 | 0.006 secunde | OK. | 3 | 3 | ||
| 20 | 0.513 secunde | OK. | 3 | 3 | ||
| 21 | 0.524 secunde | OK. | 3 | 3 | ||
| 22 | 0.519 secunde | OK. | 3 | 3 | ||
| 23 | 0.502 secunde | OK. | 3 | 3 | ||
| 24 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 25 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 26 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 27 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 28 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 29 | Depășit | Limita de timp depășită | 2 | 0 | ||
| 30 | Depășit | Limita de timp depășită | 2 | 0 | ||
| 31 | Depășit | Limita de timp depășită | 2 | 0 | ||
| 32 | Depășit | Limita de timp depășită | 2 | 0 | ||
| 33 | 0.648 secunde | OK. | 2 | 2 | ||
| 34 | 0.563 secunde | OK. | 2 | 2 | ||
| 35 | 0.56 secunde | OK. | 2 | 2 | ||
| 36 | 0.55 secunde | OK. | 2 | 2 | ||
| Punctaj total | 59 | |||||
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ă.