#2057
admitere
Să ne imaginăm faptul că la un anumit liceu există doar două clase per generație: una de Real și una de Uman. În prezent au loc înscrierile pentru clasa a IX-a. Cele două clase au fiecare câte M
locuri disponibile, atât la Real, cât și la Uman. Dacă lista de elevi înscriși la o anumită clasă conține mai mult de M
elevi, vor fi admiși acei M
elevi care au notele cele mai mari. Ambele clase au deja M
elevi înscriși, iar pentru fiecare se știe nota cu care a fost înscris la clasa respectivă.
Mai există însă N
elevi, singurii încă neînscriși, care sunt privilegiați în acest proces (fiindcă au terminat gimnaziul la acest liceu). Privilegiul lor constă în următorul fapt: ei se pot înscrie acum, după ce înscrierile publice au fost încheiate, și se cunosc notele de înscriere la ambele clase. Fiecare din cei N
elevi are câte două note: nota cu care ar fi înscris la Real și nota cu care ar fi înscris la Uman (acestea pot fi diferite, deoarece examenele de admitere de la cele două clase diferă). Fiecare din cei N
elevi va alege să se înscrie în maxim o clasă. Ei își vor coordona alegerile astfel încât să maximizeze numărul de elevi admiși. Deoarece calculele devin destul de complicate, aceștia s-ar putea folosi de ajutorul vostru. Ei doresc răspunsul la două întrebări.
(1) Care este numărul maxim de elevi privilegiaţi care pot fi admiși dacă se pune restricția suplimentară ca toți elevii privilegiați admiși să fie admiși la aceeași clasă?
(2) Care este numărul maxim de elevi privilegiaţi care pot fi admiși dacă aceștia se pot înscrie la clase diferite?
Problema | admitere | Operații I/O |
![]() admitere.in /admitere.out
|
---|---|---|---|
Limita timp | 1.5 secunde | Limita memorie |
Total: 32 MB
/
Stivă 8 MB
|
Id soluție | #58181819 | Utilizator | |
Fișier | admitere.cpp | Dimensiune | 2.58 KB |
Data încărcării | 19 Mai 2025, 09:46 | Scor / rezultat | Eroare de compilare |
admitere.cpp:57:5: error: stray '\310' in program int cerința; ^ admitere.cpp:57:5: error: stray '\233' in program admitere.cpp:58:5: error: stray '\310' in program cin >> cerința; ^ admitere.cpp:58:5: error: stray '\233' in program admitere.cpp:76:5: error: stray '\310' in program if (cerința == 1) { ^ admitere.cpp:76:5: error: stray '\233' in program admitere.cpp: In function 'int maxAdmitereSameClass(int, const std::vector<int>&, const std::vector<int>&, const std::vector<std::pair<int, int> >&)': admitere.cpp:14:49: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < M && i < realAdmis.size(); i++) { ^ admitere.cpp:24:49: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < M && i < umanAdmis.size(); i++) { ^ admitere.cpp: In function 'int maxAdmitereDifferentClasses(int, const std::vector<int>&, const std::vector<int>&, const std::vector<std::pair<int, int> >&)': admitere.cpp:40:43: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < privilegiate.size(); i++) { ^ admitere.cpp: In function 'int main()': admitere.cpp:57:16: error: expected initializer before 'a' int cerința; ^ admitere.cpp:58:12: error: 'cerin' was not declared in this scope cin >> cerința; ^ admitere.cpp:58:19: error: expected ';' before 'a' cin >> cerința; ^ admitere.cpp:76:16: error: expected ')' before 'a' if (cerința == 1) { ^ admitere.cpp:82:9: error: expected primary-expression before '}' token } ^ admitere.cpp:82:9: error: expected ';' before '}' token admitere.cpp:85:10: error: expected ';' at end of input max ^ admitere.cpp:85:10: error: statement cannot resolve address of overloaded function admitere.cpp:85:10: error: expected '}' at end of input admitere.cpp:85:10: error: expected '}' at end of input In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from admitere.cpp:1: /usr/include/c++/4.8/bits/stl_algobase.h: In instantiation of 'static _OI std::__copy_move<false, false, std::random_access_iterator_tag>::__copy_m(_II, _II, _OI) [with _II = const std::pair<int, int>*; _OI = int*]': /usr/include/c++/4.8/bits/stl_algobase.h:390:70: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const std::pair<int, int>*; _OI = int*]' /usr/include/c++/4.8/bits/stl_algobase.h:428:38: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator<const std::pair<int, int>*, std::vector<std::pair<int, int> > >; _OI = __gnu_cxx::__normal_iterator<int*, std::vector<int> >]' /usr/include/c++/4.8/bits/stl_algobase.h:460:17: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator<const std::pair<int, int>*, std::vector<std::pair<int, int> > >; _OI = __gnu_cxx::__normal_iterator<int*, std::vector<int> >]' /usr/include/c++/4.8/bits/vector.tcc:629:44: required from 'void std::vector<_Tp, _Alloc>::_M_range_insert(std::vector<_Tp, _Alloc>::iterator, _ForwardIterator, _ForwardIterator, std::forward_iterator_tag) [with _ForwardIterator = __gnu_cxx::__normal_iterator<const std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Tp = int; _Alloc = std::allocator<int>; std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; typename std::_Vector_base<_Tp, _Alloc>::pointer = int*]' /usr/include/c++/4.8/bits/stl_vector.h:1291:59: required from 'void std::vector<_Tp, _Alloc>::_M_insert_dispatch(std::vector<_Tp, _Alloc>::iterator, _InputIterator, _InputIterator, std::__false_type) [with _InputIterator = __gnu_cxx::__normal_iterator<const std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Tp = int; _Alloc = std::allocator<int>; std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; typename std::_Vector_base<_Tp, _Alloc>::pointer = int*]' /usr/include/c++/4.8/bits/stl_vector.h:1046:73: required from 'void std::vector<_Tp, _Alloc>::insert(std::vector<_Tp, _Alloc>::iterator, _InputIterator, _InputIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const std::pair<int, int>*, std::vector<std::pair<int, int> > >; <template-parameter-2-2> = void; _Tp = int; _Alloc = std::allocator<int>; std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; typename std::_Vector_base<_Tp, _Alloc>::pointer = int*]' admitere.cpp:12:79: required from here /usr/include/c++/4.8/bits/stl_algobase.h:335:18: error: cannot convert 'const std::pair<int, int>' to 'int' in assignment *__result = *__first; ^ In file included from /usr/include/c++/4.8/vector:62:0, from admitere.cpp:2: /usr/include/c++/4.8/bits/stl_construct.h: In instantiation of 'void std::_Construct(_T1*, _Args&& ...) [with _T1 = int; _Args = {const std::pair<int, int>&}]': /usr/include/c++/4.8/bits/stl_uninitialized.h:75:53: required from 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const std::pair<int, int>*, std::vector<std::pair<int, int> > >; _ForwardIterator = int*; bool _TrivialValueTypes = false]' /usr/include/c++/4.8/bits/stl_uninitialized.h:117:41: required from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const std::pair<int, int>*, std::vector<std::pair<int, int> > >; _ForwardIterator = int*]' /usr/include/c++/4.8/bits/stl_uninitialized.h:258:63: required from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const std::pair<int, int>*, std::vector<std::pair<int, int> > >; _ForwardIterator = int*; _Tp = int]' /usr/include/c++/4.8/bits/vector.tcc:637:28: required from 'void std::vector<_Tp, _Alloc>::_M_range_insert(std::vector<_Tp, _Alloc>::iterator, _ForwardIterator, _ForwardIterator, std::forward_iterator_tag) [with _ForwardIterator = __gnu_cxx::__normal_iterator<const std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Tp = int; _Alloc = std::allocator<int>; std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; typename std::_Vector_base<_Tp, _Alloc>::pointer = int*]' /usr/include/c++/4.8/bits/stl_vector.h:1291:59: required from 'void std::vector<_Tp, _Alloc>::_M_insert_dispatch(std::vector<_Tp, _Alloc>::iterator, _InputIterator, _InputIterator, std::__false_type) [with _InputIterator = __gnu_cxx::__normal_iterator<const std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Tp = int; _Alloc = std::allocator<int>; std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; typename std::_Vector_base<_Tp, _Alloc>::pointer = int*]' /usr/include/c++/4.8/bits/stl_vector.h:1046:73: required from 'void std::vector<_Tp, _Alloc>::insert(std::vector<_Tp, _Alloc>::iterator, _InputIterator, _InputIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const std::pair<int, int>*, std::vector<std::pair<int, int> > >; <template-parameter-2-2> = void; _Tp = int; _Alloc = std::allocator<int>; std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; typename std::_Vector_base<_Tp, _Alloc>::pointer = int*]' admitere.cpp:12:79: required from here /usr/include/c++/4.8/bits/stl_construct.h:75:7: error: cannot convert 'const std::pair<int, int>' to 'int' in initialization { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); } ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema admitere 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ă.