#853
Elevii clasei a X-a adună cadouri pentru sărbători. Fiecare elev realizează o listă cu cadourile adunate.
Şeful clasei trebuie să centralizeze listele primite. Ajutaţi-l să construiască o listă a care să conţină denumirea fiecărui cadou şi numărul total de cadouri de acel tip (cantitatea). Lista va fi ordonată descrescător după cantitate.
| Problema | Cadouri | Operații I/O |
cadouri.in/cadouri.out
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #62513255 | Utilizator | |
| Fișier | cadouri.cpp | Dimensiune | 1.75 KB |
| Data încărcării | 23 Ianuarie 2026, 16:36 | Scor/rezultat | Eroare de compilare |
cadouri.cpp: In function 'bool lexic(std::string, std::string)': cadouri.cpp:20:46: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i = 0; i < min(a.size(), b.size()); i++) ^ cadouri.cpp: In function 'int main()': cadouri.cpp:44:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while(poz < s.size()) ^ cadouri.cpp:46:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while(poz < s.size() && !isDigit(s[poz])) ^ cadouri.cpp:48:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(poz == s.size()) ^ cadouri.cpp:56:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while(poz < s.size() && !isLetter(s[poz])) ^ cadouri.cpp:59:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while(poz < s.size() && isLetter(s[poz])) ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from cadouri.cpp:4: /usr/include/c++/4.8/bits/stl_algo.h: In instantiation of '_RandomAccessIterator std::__unguarded_partition(_RandomAccessIterator, _RandomAccessIterator, const _Tp&, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<std::basic_string<char>, int>*, std::vector<std::pair<std::basic_string<char>, int> > >; _Tp = std::pair<std::basic_string<char>, int>; _Compare = bool (*)(std::pair<std::basic_string<char>, int>&, std::pair<std::basic_string<char>, int>&)]': /usr/include/c++/4.8/bits/stl_algo.h:2296:78: required from '_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<std::basic_string<char>, int>*, std::vector<std::pair<std::basic_string<char>, int> > >; _Compare = bool (*)(std::pair<std::basic_string<char>, int>&, std::pair<std::basic_string<char>, int>&)]' /usr/include/c++/4.8/bits/stl_algo.h:2337:62: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<std::basic_string<char>, int>*, std::vector<std::pair<std::basic_string<char>, int> > >; _Size = int; _Compare = bool (*)(std::pair<std::basic_string<char>, int>&, std::pair<std::basic_string<char>, int>&)]' /usr/include/c++/4.8/bits/stl_algo.h:5499:44: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<std::pair<std::basic_string<char>, int>*, std::vector<std::pair<std::basic_string<char>, int> > >; _Compare = bool (*)(std::pair<std::basic_string<char>, int>&, std::pair<std::basic_string<char>, int>&)]' cadouri.cpp:67:33: required from here /usr/include/c++/4.8/bits/stl_algo.h:2263:35: error: invalid initialization of reference of type 'std::pair<std::basic_string<char>, int>&' from expression of type 'const std::pair<std::basic_string<char>, int>' while (__comp(*__first, __pivot)) ^ /usr/include/c++/4.8/bits/stl_algo.h:2266:34: error: invalid initialization of reference of type 'std::pair<std::basic_string<char>, int>&' from expression of type 'const std::pair<std::basic_string<char>, int>' while (__comp(__pivot, *__last)) ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Cadouri 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ă.