#4766
Într-un șir de numere naturale, numim secvență dsecv, o succesiune de valori situate pe poziții consecutive a[i], a[i+1], a[i+2], a[i+3], … a[j] cu (i ≤ j) dacă oricare două numerele alăturate din secvență (a[i], a[i+1]) au proprietatea că numărul de divizori ai lui a[i] este mai mic sau egal decât numărul de divizori ai lui a[i+1]. Numărul de elemente din secvență reprezintă lungimea secvenței. Fiind dat numărul natural C reprezentând numărul cerinței, un număr natural n și apoi un șir de n numere naturale nenule cu maximum 9 cifre fiecare, scrieți un program care rezolvă următoarele cerințe:
1) Dacă C = 1, dintre toate valorile din șir care au număr maxim de divizori, se vor determina valoarea minimă și valoarea maximă.
2) Dacă C = 2, se va determina numărul de secvențe dsecv de lungime maximă din șir și lungimea maximă a unei astfel de secvențe.
OMI Iași, clasa a 9-a
| Problema | dsecv | Operații I/O |
dsecv.in/dsecv.out
|
|---|---|---|---|
| Limita timp | 1 secunde | Limita memorie |
Total: 16 MB
/
Stivă 2 MB
|
| Id soluție | #64113220 | Utilizator | |
| Fișier | dsecv.cpp | Dimensiune | 1.92 KB |
| Data încărcării | 17 Aprilie 2026, 16:47 | Scor/rezultat | 25 puncte |
dsecv.cpp: In function ‘int main()’: dsecv.cpp:46:13: warning: unused variable ‘maxx’ [-Wunused-variable] 46 | int maxx=0,x,nrdivold=0,nrdivnew=2,nr=0,len=0,maxlen=0; | ^~~~ dsecv.cpp:31:17: warning: ‘copmax’ may be used uninitialized [-Wmaybe-uninitialized] 31 | if (x>copmax) { | ^~ dsecv.cpp:13:35: note: ‘copmax’ was declared here 13 | int maxx=0,x,nrdiv,copmin,copmax; | ^~~~~~ dsecv.cpp:39:9: warning: ‘copmin’ may be used uninitialized [-Wmaybe-uninitialized] 39 | if (copmin==0) { | ^~ dsecv.cpp:13:28: note: ‘copmin’ was declared here 13 | int maxx=0,x,nrdiv,copmin,copmax; | ^~~~~~
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 0 | 0.001 secunde | OK. | 10 | 10 | ||
| 1 | 0.017 secunde | OK. | 10 | 10 | ||
| 2 | 0.003 secunde | Raspuns gresit. | 10 | 0 | ||
| 3 | 0.47 secunde | Raspuns gresit. | 10 | 0 | ||
| 4 | 0.001 secunde | Raspuns gresit. | 10 | 0 | ||
| 5 | 0.071 secunde | Raspuns gresit. | 10 | 0 | ||
| 6 | Depășit | Limita de timp depășită | 10 | 0 | ||
| 7 | Depășit | Limita de timp depășită | 10 | 0 | ||
| 8 | Depășit | Limita de timp depășită | 10 | 0 | ||
| 9 | 0.001 secunde | OK. | 5 | 5 | Exemplu | |
| 10 | 0.001 secunde | Raspuns gresit. | 5 | 0 | Exemplu | |
| Punctaj total | 25 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema dsecv 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ă.