#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 | #62930506 | Utilizator | |
| Fișier | dsecv.cpp | Dimensiune | 1.78 KB |
| Data încărcării | 06 Februarie 2026, 19:48 | Scor/rezultat | Eroare de compilare |
dsecv.cpp: In function 'long long int nrDiv(long long int)': dsecv.cpp:6:38: error: 'sqrt' was not declared in this scope long long r = sqrt((long double)x); ^ dsecv.cpp: In function 'int main()': dsecv.cpp:22:5: error: 'vector' was not declared in this scope vector<long long> a(n); ^ dsecv.cpp:22:12: error: expected primary-expression before 'long' vector<long long> a(n); ^ dsecv.cpp:22:12: error: expected ';' before 'long' dsecv.cpp:24:16: error: 'a' was not declared in this scope cin >> a[i]; ^ dsecv.cpp:31:33: error: 'a' was not declared in this scope long long d = nrDiv(a[i]); ^ dsecv.cpp:45:16: error: expected primary-expression before 'long' vector<long long> d(n); ^ dsecv.cpp:45:16: error: expected ';' before 'long' dsecv.cpp:47:13: error: 'd' was not declared in this scope d[i] = nrDiv(a[i]); ^ dsecv.cpp:47:26: error: 'a' was not declared in this scope d[i] = nrDiv(a[i]); ^ dsecv.cpp:54:17: error: 'd' was not declared in this scope if (d[i - 1] <= d[i]) { ^
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ă.