#1055
Ana şi Bogdan au inventat jocul “Compar”. Ana scrie pe tablă o secvenţă formată din N numere naturale distincte cuprinse între 1 şi N, apoi compară fiecare două numere învecinate din secvenţă scriind între ele semnul < sau semnul >, după caz.
De exemplu, dacă secvenţa de pe tablă este 6 4 2 1 3 5, după compararea elementelor învecinate şi inserarea semnelor în secvenţă, Ana obţine:
6>4>2>1<3<5
După aceea Ana şterge cele N elemente ale secvenţei şi păstrează numai semnele, astfel:
>>><<
La final, Ana îi arată lui Bogdan şirul semnelor şi îi cere să reconstituie secvenţa de numere naturale scrisă iniţial pe tablă.
Cunoscând şirul semnelor construit de Ana, scrieţi un program care să îl ajute pe Bogdan să reconstituie secvenţa de numere naturale distincte scrisă iniţial pe tablă.
OJI 2013, Clasa a VII-a
| Problema | Compar | Operații I/O |
compar.in/compar.out
|
|---|---|---|---|
| Limita timp | 0.2 secunde | Limita memorie |
Total: 2 MB
/
Stivă 1 MB
|
| Id soluție | #64671101 | Utilizator | |
| Fișier | compar.cpp | Dimensiune | 487 B |
| Data încărcării | 21 Mai 2026, 16:46 | Scor/rezultat | Eroare de compilare |
compar.cpp: In function ‘int main()’: compar.cpp:16:24: error: overloaded function with no contextual type information 16 | int min = 1; max = n; | ^ compar.cpp:19:22: error: no match for ‘operator<<’ (operand types are ‘std::ofstream’ {aka ‘std::basic_ofstream<char>’} and ‘<unresolved overloaded function type>’) 19 | fout << max << ' '; | ~~~~~^~~~~~ In file included from /usr/include/c++/13/iostream:41, from compar.cpp:1: /usr/include/c++/13/ostream:110:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(__ostream_type& (*)(__ostream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 110 | operator<<(__ostream_type& (*__pf)(__ostream_type&)) | ^~~~~~~~ /usr/include/c++/13/ostream:110:36: note: no known conversion for argument 1 from ‘<unresolved overloaded function type>’ to ‘std::basic_ostream<char>::__ostream_type& (*)(std::basic_ostream<char>::__ostream_type&)’ {aka ‘std::basic_ostream<char>& (*)(std::basic_ostream<char>&)’} 110 | operator<<(__ostream_type& (*__pf)(__ostream_type&)) | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/ostream:119:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(__ios_type& (*)(__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>; __ios_type = std::basic_ios<char>]’ 119 | operator<<(__ios_type& (*__pf)(__ios_type&)) | ^~~~~~~~ /usr/include/c++/13/ostream:119:32: note: no known conversion for argument 1 from ‘<unresolved overloaded function type>’ to ‘std::basic_ostream<char>::__ios_type& (*)(std::basic_ostream<char>::__ios_type&)’ {aka ‘std::basic_ios<char>& (*)(std::basic_ios<char>&)’} 119 | operator<<(__ios_type& (*__pf)(__ios_type&)) | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /usr/include/c++/13/ostream:129:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 129 | operator<<(ios_base& (*__pf) (ios_base&)) | ^~~~~~~~ /usr/include/c++/13/ostream:129:30: note: no known conversion for argument 1 from ‘<unresolved overloaded function type>’ to ‘std::ios_base& (*)(std::ios_base&)’ 129 | operator<<(ios_base& (*__pf) (ios_base&)) | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ /usr/include/c++/13/ostream:168:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 168 | operator<<(long __n) | ^~~~~~~~ /usr/include/c++/13/ostream:168:23: note: no known conversion for argument 1 from ‘<unresolved overloaded function type>’ to ‘long int’ 168 | operator<<(long __n) | ~~~~~^~~ /usr/include/c++/13/ostream:172:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 172 | operator<<(unsigned long __n) | ^~~~~~~~ /usr/include/c++/13/ostream:172:32: note: no known conversion for argument 1 from ‘<unresolved overloaded function type>’ to ‘long unsigned int’ 172 | operator<<(unsigned long __n) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/13/ostream:176:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 176 | operator<<(bool __n) | ^~~~~~~~ /usr/include/c++/13/ostream:176:23: note: no known conversion for argument 1 from ‘<unresolved overloaded function type>’ to ‘bool’ 176 | operator<<(bool __n) | ~~~~~^~~ In file included from /usr/include/c++/13/ostream:880: /usr/include/c++/13/bits/ostream.tcc:96:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = char; _Traits = std::char_traits<char>]’ 96 | basic_ostream<_CharT, _Traits>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/bits/ostream.tcc:97:22: note: no known conversion for argument 1 from ‘<unresolved overloaded function type>’ to ‘short int’ 97 | operator<<(short __n) | ~~~~~~^~~ /usr/include/c++/13/ostream:183:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 183 | operator<<(unsigned short __n) | ^~~~~~~~ /usr/include/c++/13/ostream:183:33: note: no known conversion for argument 1 from ‘<unresolved overloaded function type>’ to ‘short unsigned int’ 183 | operator<<(unsigned short __n) | ~~~~~~~~~~~~~~~^~~ /usr/include/c++/13/bits/ostream.tcc:110:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char; _Traits = std::char_traits<char>]’ 110 | basic_ostream<_CharT, _Traits>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/bits/ostream.tcc:111:20: note: no known conversion for argument 1 from ‘<unresolved overloaded function type>’ to ‘int’ 111 | operator<<(int __n) | ~~~~^~~ /usr/include/c++/13/ostream:194:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 194 | operator<<(unsigned int __n) | ^~~~~~~~ /usr/include/c++/13/ostream:194:31: note: no known conversion for argument 1 from ‘<unresolved overloaded function type>’ to ‘unsigned int’ 194 | operator<<(unsigned int __n) | ~~~~~~~~~~~~~^~~ /usr/include/c++/13/ostream:203:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 203 | operator<<(long long __n) | ^~~~~~~~ /usr/include/c++/13/ostream:203:28: note: no known conversion for argument 1 from ‘<unresolved overloaded function type>’ to ‘long long int’ 203 | operator<<(long long __n) | ~~~~~~~~~~^~~ /usr/include/c++/13/ostream:207:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 207 | operator<<(unsigned long long __n) | ^~~~~~~~ /usr/include/c++/13/ostream:207:37: note: no known conversion for argument 1 from ‘<unresolved overloaded function type>’ to ‘long long unsigned int’ 207 | operator<<(unsigned long long __n) | ~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/13/ostream:222:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 222 | operator<<(double __f) | ^~~~~~~~ /usr/include/c++/13/ostream:222:25: note: no known conversion for argument 1 from ‘<unresolved overloaded function type>’ to ‘double’ 222 | operator<<(double __f) | ~~~~~~~^~~ /usr/include/c++/13/ostream:226:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 226 | operator<<(float __f) | ^~~~~~~~ /usr/include/c++/13/ostream:226:24: note: no known conversion for argument 1 from ‘<unresolved overloaded function type>’ to ‘float’ 226 | operator<<(float __f) | ~~~~~~^~~ /usr/include/c++/13/ostream:234:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 234 | operator<<(long double __f) | ^~~~~~~~ /usr/include/c++/13/ostream:234:30: note: no known conversion for argument 1 from ‘<unresolved overloaded function type>’ to ‘long double’ 234 | operator<<(long double __f) | ~~~~~~~~~~~~^~~ /usr/include/c++/13/ostream:292:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’ 292 | operator<<(const void* __p) | ^~~~~~~~ /usr/include/c++/13/ostream:292:30: note: no known conversion for argument 1 from ‘<unresolved overloaded function type>’ to ‘const void*’ 292 | operator<<(const void* __p) | ~~~~~~~~~~~~^~~ /usr/include/c++/13/bits/ostream.tcc:124:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; __streambuf_type = std::basic_streambuf<char>]’ 124 | basic_ostream<_CharT, _Traits>:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/bits/ostream.tcc:125:34: note: no known conversion for argument 1 from ‘<unresolved overloaded function type>’ to ‘std::basic_ostream<char>::__streambuf_type*’ {aka ‘std::basic_streambuf<char>*’} 125 | operator<<(__streambuf_type* __sbin) | ~~~~~~~~~~~~~~~~~~^~~~~~ In file included from /usr/include/c++/13/string:54, from /usr/include/c++/13/bits/locale_classes.h:40, from /usr/include/c++/13/bits/ios_base.h:41, from /usr/include/c++/13/ios:44, from /usr/include/c++/13/ostream:40: /usr/include/c++/13/bits/basic_string.h:4032:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’ 4032 | operator<<(basic_ostream<_CharT, _Traits>& __os, | ^~~~~~~~ /usr/include/c++/13/bits/basic_string.h:4032:5: note: template argument deduction/substitution failed: compar.cpp:19:25: note: couldn’t deduce template parameter ‘_Alloc’ 19 | fout << max << ' '; | ^~~ In file included from /usr/include/c++/13/bits/ios_base.h:46: /usr/include/c++/13/system_error:339:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const error_code&)’ 339 | operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e) | ^~~~~~~~ /usr/include/c++/13/system_error:339:5: note: template argument deduction/substitution failed: compar.cpp:19:25: note: cannot convert ‘std::max’ (type ‘<unresolved overloaded function type>’) to type ‘const std::error_code&’ 19 | fout << max << ' '; | ^~~ /usr/include/c++/13/ostream:554:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, _CharT) [with _CharT = char; _Traits = char_traits<char>]’ 554 | operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c) | ^~~~~~~~ /usr/include/c++/13/ostream:554:62: note: no known conversion for argument 2 from ‘<unresolved overloaded function type>’ to ‘char’ 554 | operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c) | ~~~~~~~^~~ /usr/include/c++/13/ostream:564:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, char)’ 564 | operator<<(basic_ostream<_CharT, _Traits>& __out, char __c) | ^~~~~~~~ /usr/include/c++/13/ostream:564:5: note: template argument deduction/substitution failed: compar.cpp:19:25: note: cannot convert ‘std::max’ (type ‘<unresolved overloaded function type>’) to type ‘char’ 19 | fout << max << ' '; | ^~~ /usr/include/c++/13/ostream:570:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, char)’ 570 | operator<<(basic_ostream<char, _Traits>& __out, char __c) | ^~~~~~~~ /usr/include/c++/13/ostream:570:5: note: template argument deduction/substitution failed: compar.cpp:19:25: note: cannot convert ‘std::max’ (type ‘<unresolved overloaded function type>’) to type ‘char’ 19 | fout << max << ' '; | ^~~ /usr/include/c++/13/ostream:581:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, signed char)’ 581 | operator<<(basic_ostream<char, _Traits>& __out, signed char __c) | ^~~~~~~~ /usr/include/c++/13/ostream:581:5: note: template argument deduction/substitution failed: compar.cpp:19:25: note: cannot convert ‘std::max’ (type ‘<unresolved overloaded function type>’) to type ‘signed char’ 19 | fout << max << ' '; | ^~~ /usr/include/c++/13/ostream:586:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, unsigned char)’ 586 | operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c) | ^~~~~~~~ /usr/include/c++/13/ostream:586:5: note: template argument deduction/substitution failed: compar.cpp:19:25: note: cannot convert ‘std::max’ (type ‘<unresolved overloaded function type>’) to type ‘unsigned char’ 19 | fout << max << ' '; | ^~~ /usr/include/c++/13/ostream:645:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const _CharT*) [with _CharT = char; _Traits = char_traits<char>]’ 645 | operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s) | ^~~~~~~~ /usr/include/c++/13/ostream:645:69: note: no known conversion for argument 2 from ‘<unresolved overloaded function type>’ to ‘const char*’ 645 | operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/13/bits/ostream.tcc:307:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const char*)’ 307 | operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s) | ^~~~~~~~ /usr/include/c++/13/bits/ostream.tcc:307:5: note: template argument deduction/substitution failed: compar.cpp:19:25: note: cannot convert ‘std::max’ (type ‘<unresolved overloaded function type>’) to type ‘const char*’ 19 | fout << max << ' '; | ^~~ /usr/include/c++/13/ostream:662:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, const char*)’ 662 | operator<<(basic_ostream<char, _Traits>& __out, const char* __s) | ^~~~~~~~ /usr/include/c++/13/ostream:662:5: note: template argument deduction/substitution failed: compar.cpp:19:25: note: cannot convert ‘std::max’ (type ‘<unresolved overloaded function type>’) to type ‘const char*’ 19 | fout << max << ' '; | ^~~ /usr/include/c++/13/ostream:675:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, const signed char*)’ 675 | operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s) | ^~~~~~~~ /usr/include/c++/13/ostream:675:5: note: template argument deduction/substitution failed: compar.cpp:19:25: note: cannot convert ‘std::max’ (type ‘<unresolved overloaded function type>’) to type ‘const signed char*’ 19 | fout << max << ' '; | ^~~ /usr/include/c++/13/ostream:680:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, const unsigned char*)’ 680 | operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s) | ^~~~~~~~ /usr/include/c++/13/ostream:680:5: note: template argument deduction/substitution failed: compar.cpp:19:25: note: cannot convert ‘std::max’ (type ‘<unresolved overloaded function type>’) to type ‘const unsigned char*’ 19 | fout << max << ' '; | ^~~ /usr/include/c++/13/ostream:801:5: note: candidate: ‘template<class _Ostream, class _Tp> _Ostream&& std::operator<<(_Ostream&&, const _Tp&)’ 801 | operator<<(_Ostream&& __os, const _Tp& __x) | ^~~~~~~~ /usr/include/c++/13/ostream:801:5: note: template argument deduction/substitution failed: compar.cpp:19:25: note: couldn’t deduce template parameter ‘_Tp’ 19 | fout << max << ' '; | ^~~ compar.cpp:20:16: error: no post-decrement operator for type 20 | max--; | ^~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Compar 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ă.