#4604
Macarie a primit o nouă temă la informatică, având următorul enunț: Se consideră un șir de numere naturale nenule, A
cu N
elemente. Fie șirul crescător D
format din toți divizorii naturali, nu neapărat distincți, ai elementelor din A
. De exemplu, pentru N = 4
și A = (6,2,3,2)
, avem șirul D = (1,1,1,1,2,2,2,3,3,6)
. Cunoscându-se un șir Poz
format din Q
numere naturale nenule, reprezentând poziții din șirul D
să se determine, pentru fiecare dintre acestea, elementul corespunzător din șirul D
.
OJI 2024, clasa a 9-a
Problema | Macarie | Operații I/O |
![]() macarie.in /macarie.out
|
---|---|---|---|
Limita timp | 0.4 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #56966969 | Utilizator | |
Fișier | macarie.cpp | Dimensiune | 721 B |
Data încărcării | 11 Martie 2025, 23:11 | Scor / rezultat | Eroare de compilare |
macarie.cpp:8:17: error: 'multi' has not been declared void div(int x, multi<int> &D) { ^ macarie.cpp:8:22: error: expected ',' or '...' before '<' token void div(int x, multi<int> &D) { ^ macarie.cpp: In function 'void div(int, int)': macarie.cpp:8:30: error: new declaration 'void div(int, int)' void div(int x, multi<int> &D) { ^ 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/ostream:38, from /usr/include/c++/4.8/iostream:39, from macarie.cpp:1: /usr/include/stdlib.h:789:14: error: ambiguates old declaration 'div_t div(int, int)' extern div_t div (int __numer, int __denom) ^ macarie.cpp:11:13: error: 'D' was not declared in this scope D.insert(i); ^ macarie.cpp: In function 'int main()': macarie.cpp:29:19: error: no matching function for call to 'div(__gnu_cxx::__alloc_traits<std::allocator<int> >::value_type&, std::multiset<int>&)' div(A[i],D); ^ macarie.cpp:29:19: note: candidates are: 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/ostream:38, from /usr/include/c++/4.8/iostream:39, from macarie.cpp:1: /usr/include/stdlib.h:789:14: note: div_t div(int, int) extern div_t div (int __numer, int __denom) ^ /usr/include/stdlib.h:789:14: note: no known conversion for argument 2 from 'std::multiset<int>' to 'int' In file included from /usr/include/c++/4.8/ext/string_conversions.h:41:0, 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/ostream:38, from /usr/include/c++/4.8/iostream:39, from macarie.cpp:1: /usr/include/c++/4.8/cstdlib:214:3: note: lldiv_t __gnu_cxx::div(long long int, long long int) div(long long __n, long long __d) ^ /usr/include/c++/4.8/cstdlib:214:3: note: no known conversion for argument 2 from 'std::multiset<int>' to 'long long int' /usr/include/c++/4.8/cstdlib:169:3: note: ldiv_t std::div(long int, long int) div(long __i, long __j) { return ldiv(__i, __j); } ^ /usr/include/c++/4.8/cstdlib:169:3: note: no known conversion for argument 2 from 'std::multiset<int>' to 'long int' macarie.cpp:34:16: error: no match for 'operator[]' (operand types are 'std::multiset<int>' and '__gnu_cxx::__alloc_traits<std::allocator<int> >::value_type {aka int}') fout<<D[Poz[i]]<<' '; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Macarie 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ă.