#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 | #47479025 | Utilizator | |
Fișier | gcd2.cpp | Dimensiune | 894 B |
Data încărcării | 14 Decembrie 2023, 09:36 | Scor / rezultat | Eroare de compilare |
gcd2.cpp: In function 'void d(int, int)': gcd2.cpp:29:55: error: no matching function for call to '__gcd(const long long int&, int&)' ans = ans + j.second * __gcd(j.first,f); ^ gcd2.cpp:29:55: note: candidate is: In file included from /usr/include/c++/4.8/algorithm:62:0, from gcd2.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h:1494:5: note: template<class _EuclideanRingElement> _EuclideanRingElement std::__gcd(_EuclideanRingElement, _EuclideanRingElement) __gcd(_EuclideanRingElement __m, _EuclideanRingElement __n) ^ /usr/include/c++/4.8/bits/stl_algo.h:1494:5: note: template argument deduction/substitution failed: gcd2.cpp:29:55: note: deduced conflicting types for parameter '_EuclideanRingElement' ('long long int' and 'int') ans = ans + j.second * __gcd(j.first,f); ^
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ă.