#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 | #61745658 | Utilizator | |
| Fișier | dsecv.cpp | Dimensiune | 2.17 KB |
| Data încărcării | 08 Decembrie 2025, 21:00 | Scor/rezultat | Eroare de compilare |
dsecv.cpp:5:30: error: 'int div' redeclared as different kind of symbol int lungmax, c, n, a[10000], div = 0, divmax = 0, mini, maxi, x, length; ^ In file included from /usr/include/c++/4.8/cstdlib:72:0, from /usr/include/c++/4.8/ext/string_conversions.h:41, from /usr/include/c++/4.8/bits/basic_string.h:2815, from /usr/include/c++/4.8/string:52, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from dsecv.cpp:1: /usr/include/stdlib.h:789:14: error: previous declaration of 'div_t div(int, int)' extern div_t div (int __numer, int __denom) ^ dsecv.cpp: In function 'int main()': dsecv.cpp:12:26: error: overloaded function with no contextual type information fin >> x; div=0; ^ dsecv.cpp:15:33: error: invalid operands of types '<unresolved overloaded function type>' and 'int' to binary 'operator+' div = div + 1; ^ dsecv.cpp:17:37: error: invalid operands of types '<unresolved overloaded function type>' and 'int' to binary 'operator+' div = div + 1; ^ dsecv.cpp:21:25: error: invalid operands of types 'int' and '<unresolved overloaded function type>' to binary 'operator<' if(divmax < div){ ^ dsecv.cpp:22:24: error: cannot resolve overloaded function 'div' based on conversion to type 'int' divmax = div;maxi = x; ^ dsecv.cpp:26:23: error: invalid operands of types '<unresolved overloaded function type>' and 'int' to binary 'operator==' if(div == divmax){ ^
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ă.