#3822
Se dă un vector A
de N
elemente. Trebuie să calculați suma celui mai mare divizor comun din toate secvențele vectorului . Mai formal , notând cu F(st , dr) = cmmdc(A[st] , A[st+1] ... A[dr]) 1 <= st <= dr <= N
, trebuie să calculați suma tuturor F(st , dr)
posibile.
infoleague.net etapa 1, problema 2.
Problema | GCD2 | Operații I/O |
![]() gcd2.in /gcd2.out
|
---|---|---|---|
Limita timp | 0.2 secunde | Limita memorie |
Total: 64 MB
/
Stivă 32 MB
|
Id soluție | #57750418 | Utilizator | |
Fișier | gcd2.cpp | Dimensiune | 975 B |
Data încărcării | 14 Aprilie 2025, 12:12 | Scor / rezultat | Eroare de compilare |
gcd2.cpp:10:43: error: 'int log2 [100002]' redeclared as different kind of symbol int n, rmq[lgmax][nmax + 2], log2[nmax + 2]; ^ In file included from /usr/include/features.h:374:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/os_defines.h:39, from /usr/include/i386-linux-gnu/c++/4.8/bits/c++config.h:426, from /usr/include/c++/4.8/iosfwd:38, from /usr/include/c++/4.8/ios:38, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from gcd2.cpp:1: /usr/include/i386-linux-gnu/bits/mathcalls.h:144:1: error: previous declaration of 'double log2(double)' __MATHCALL (log2,, (_Mdouble_ __x)); ^ gcd2.cpp: In function 'int query(int, int)': gcd2.cpp:14:29: error: invalid types '<unresolved overloaded function type>[int]' for array subscript int e = log2[dr - st + 1]; ^ gcd2.cpp: In function 'int main()': gcd2.cpp:19:18: error: invalid types '<unresolved overloaded function type>[int]' for array subscript in>>n; log2[0] = -1; ^ gcd2.cpp:22:15: error: invalid types '<unresolved overloaded function type>[int]' for array subscript log2[i] = 1 + log2[i >> 1]; ^ gcd2.cpp:22:34: error: invalid types '<unresolved overloaded function type>[int]' for array subscript log2[i] = 1 + log2[i >> 1]; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema GCD2 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ă.