#3602
Zăhărel şi Sică s-au gândit să se reinventeze din punct de vedere spiritual. În prima fază, vor să se mute în oraşul Sala. Oraşul Sala conţine N case (numerotate de la 1 la N) unite prin M străzi bidirecţionale de lungimi egale. Ei au la dispoziţie fonduri limitate şi pot să se mute doar într-un cartier mărginaş format din X case. Fiindcă sunt buni prieteni cei doi vor să se mute în două case distincte, cât mai apropiate între ele. Determinaţi distanţa minimă dintre două case distincte din cele X din cartier.
ONI 2009, clasele XI-XII
| Problema | reinvent | Operații I/O |
reinvent.in/reinvent.out
|
|---|---|---|---|
| Limita timp | 0.3 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64549674 | Utilizator | |
| Fișier | reinvent.cpp | Dimensiune | 1.70 KB |
| Data încărcării | 13 Mai 2026, 18:28 | Scor/rezultat | Eroare de compilare |
reinvent.cpp: In function ‘int main()’: reinvent.cpp:42:50: error: use of ‘auto’ in lambda parameter declaration only available with ‘-std=c++14’ or ‘-std=gnu++14’ 42 | sort(aux.begin(), aux.end(), [] (auto& a, auto& b) { | ^~~~ reinvent.cpp:42:59: error: use of ‘auto’ in lambda parameter declaration only available with ‘-std=c++14’ or ‘-std=gnu++14’ 42 | sort(aux.begin(), aux.end(), [] (auto& a, auto& b) { | ^~~~ reinvent.cpp: In lambda function: reinvent.cpp:43:34: error: request for member ‘second’ in ‘a’, which is of non-class type ‘int’ 43 | return a.second < b.second; | ^~~~~~ reinvent.cpp:43:45: error: request for member ‘second’ in ‘b’, which is of non-class type ‘int’ 43 | return a.second < b.second; | ^~~~~~ In file included from /usr/include/c++/13/bits/stl_algobase.h:71, from /usr/include/c++/13/string:51, 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, from /usr/include/c++/13/iostream:41, from reinvent.cpp:1: /usr/include/c++/13/bits/predefined_ops.h: In instantiation of ‘bool __gnu_cxx::__ops::_Iter_comp_iter<_Compare>::operator()(_Iterator1, _Iterator2) [with _Iterator1 = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Iterator2 = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = main()::<lambda(int&, int&)>]’: /usr/include/c++/13/bits/stl_algo.h:1819:14: required from ‘void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<int, int>*, vector<pair<int, int> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(int&, int&)> >]’ /usr/include/c++/13/bits/stl_algo.h:1859:25: required from ‘void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<int, int>*, vector<pair<int, int> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(int&, int&)> >]’ /usr/include/c++/13/bits/stl_algo.h:1950:31: required from ‘void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<int, int>*, vector<pair<int, int> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(int&, int&)> >]’ /usr/include/c++/13/bits/stl_algo.h:4894:18: required from ‘void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<int, int>*, vector<pair<int, int> > >; _Compare = main()::<lambda(int&, int&)>]’ reinvent.cpp:42:7: required from here /usr/include/c++/13/bits/predefined_ops.h:158:30: error: no match for call to ‘(main()::<lambda(int&, int&)>) (std::pair<int, int>&, std::pair<int, int>&)’ 158 | { return bool(_M_comp(*__it1, *__it2)); } | ~~~~~~~^~~~~~~~~~~~~~~~ reinvent.cpp:42:46: note: candidate: ‘main()::<lambda(int&, int&)>’ 42 | sort(aux.begin(), aux.end(), [] (auto& a, auto& b) { | ^ reinvent.cpp:42:46: note: no known conversion for argument 1 from ‘std::pair<int, int>’ to ‘int&’ /usr/include/c++/13/bits/predefined_ops.h: In instantiation of ‘bool __gnu_cxx::__ops::_Val_comp_iter<_Compare>::operator()(_Value&, _Iterator) [with _Value = std::pair<int, int>; _Iterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = main()::<lambda(int&, int&)>]’: /usr/include/c++/13/bits/stl_algo.h:1799:20: required from ‘void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<int, int>*, vector<pair<int, int> > >; _Compare = __gnu_cxx::__ops::_Val_comp_iter<main()::<lambda(int&, int&)> >]’ /usr/include/c++/13/bits/stl_algo.h:1827:36: required from ‘void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<int, int>*, vector<pair<int, int> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(int&, int&)> >]’ /usr/include/c++/13/bits/stl_algo.h:1859:25: required from ‘void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<int, int>*, vector<pair<int, int> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(int&, int&)> >]’ /usr/include/c++/13/bits/stl_algo.h:1950:31: required from ‘void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<int, int>*, vector<pair<int, int> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(int&, int&)> >]’ /usr/include/c++/13/bits/stl_algo.h:4894:18: required from ‘void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<int, int>*, vector<pair<int, int> > >; _Compare = main()::<lambda(int&, int&)>]’ reinvent.cpp:42:7: required from here /usr/include/c++/13/bits/predefined_ops.h:240:30: error: no match for call to ‘(main()::<lambda(int&, int&)>) (std::pair<int, int>&, std::pair<int, int>&)’ 240 | { return bool(_M_comp(__val, *__it)); } | ~~~~~~~^~~~~~~~~~~~~~ reinvent.cpp:42:46: note: candidate: ‘main()::<lambda(int&, int&)>’ 42 | sort(aux.begin(), aux.end(), [] (auto& a, auto& b) { | ^ reinvent.cpp:42:46: note: no known conversion for argument 1 from ‘std::pair<int, int>’ to ‘int&’ /usr/include/c++/13/bits/predefined_ops.h: In instantiation of ‘bool __gnu_cxx::__ops::_Iter_comp_val<_Compare>::operator()(_Iterator, _Value&) [with _Iterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Value = std::pair<int, int>; _Compare = main()::<lambda(int&, int&)>]’: /usr/include/c++/13/bits/stl_heap.h:140:48: required from ‘void std::__push_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<int, int>*, vector<pair<int, int> > >; _Distance = long int; _Tp = pair<int, int>; _Compare = __gnu_cxx::__ops::_Iter_comp_val<main()::<lambda(int&, int&)> >]’ /usr/include/c++/13/bits/stl_heap.h:247:23: required from ‘void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<int, int>*, vector<pair<int, int> > >; _Distance = long int; _Tp = pair<int, int>; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(int&, int&)> >]’ /usr/include/c++/13/bits/stl_heap.h:356:22: required from ‘void std::__make_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<int, int>*, vector<pair<int, int> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(int&, int&)> >]’ /usr/include/c++/13/bits/stl_algo.h:1635:23: required from ‘void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<int, int>*, vector<pair<int, int> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(int&, int&)> >]’ /usr/include/c++/13/bits/stl_algo.h:1910:25: required from ‘void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<int, int>*, vector<pair<int, int> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(int&, int&)> >]’ /usr/include/c++/13/bits/stl_algo.h:1926:27: required from ‘void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<int, int>*, vector<pair<int, int> > >; _Size = long int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(int&, int&)> >]’ /usr/include/c++/13/bits/stl_algo.h:1947:25: required from ‘void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<int, int>*, vector<pair<int, int> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(int&, int&)> >]’ /usr/include/c++/13/bits/stl_algo.h:4894:18: required from ‘void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<int, int>*, vector<pair<int, int> > >; _Compare = main()::<lambda(int&, int&)>]’ reinvent.cpp:42:7: required from here /usr/include/c++/13/bits/predefined_ops.h:196:30: error: no match for call to ‘(main()::<lambda(int&, int&)>) (std::pair<int, int>&, std::pair<int, int>&)’ 196 | { return bool(_M_comp(*__it, __val)); } | ~~~~~~~^~~~~~~~~~~~~~ reinvent.cpp:42:46: note: candidate: ‘main()::<lambda(int&, int&)>’ 42 | sort(aux.begin(), aux.end(), [] (auto& a, auto& b) { | ^ reinvent.cpp:42:46: note: no known conversion for argument 1 from ‘std::pair<int, int>’ to ‘int&’
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema reinvent 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ă.