Detalii evaluare #49824185

Rezumat problemă

În cel mai recent eveniment al companiei Tesla, Paul Musk a anunțat un nou produs inovativ: parcarea autonomă. Fiind cunoscut pentru lansările produselor incomplete, nici parcarea nu este completă, fiind nevoie de o automatizare pentru a atribui câte un loc mașinilor care vor să folosească parcarea. Parcarea este formată din N locuri, numerotate de la 1 la N, și este deschisă timp de T secunde, începând cu secunda 1. Pe parcursul zilei, sosesc M mașini care vor să folosească parcarea, pentru fiecare dintre acestea știindu-se timpul de sosire s[i] și timpul de plecare p[i]. Mașinile vin în ordinea timpului de sosire s[i] și ocupă locul de parcare în intervalul de timp [ s[i], p[i] ]. Pentru fiecare dintre acestea, trebuie să afișați un loc liber de parcare (dacă sunt mai multe, se poate afișa oricare) în care aceasta se poate așeza sau -1 dacă parcarea este plină în momentul venirii mașinii. Dacă o mașină nu are loc în parcare la timpul de sosire, aceasta nu va mai intra în parcare la niciun timp viitor. La final, Paul este interesat de mașinile care mai sunt rămase în parcare la închiderea parcării, de aceea vă cere să afișați configurația parcării la timpul T.

Detalii

Problema parcare2 Operații I/O parcare.in/parcare.out
Limita timp 0.25 secunde Limita memorie Total: 256 MB / Stivă 64 MB
Id soluție #49824185 Utilizator Buliga Tudor (BuligaTudor)
Fișier parcare2.cpp Dimensiune 1.34 KB
Data încărcării 16 Martie 2024, 00:19 Scor / rezultat Eroare de compilare

Evaluare


Mesaj compilare

parcare2.cpp: In function 'int main()':
parcare2.cpp:21:47: error: expected ')' before ';' token
             parcare.insert(make_tuple(p, s, n);

                                               ^
parcare2.cpp:53:38: error: no matching function for call to 'std::set<int, int>::insert(std::pair<int, int>)'
          setF.insert(make_pair(l, si));

                                      ^
parcare2.cpp:53:38: note: candidates are:
In file included from /usr/include/c++/4.8/set:61:0,
                 from parcare2.cpp:3:
/usr/include/c++/4.8/bits/stl_set.h:460:7: note: std::pair<typename std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare, typename _Alloc::rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare, _Alloc>::insert(const value_type&) [with _Key = int; _Compare = int; _Alloc = std::allocator<int>; typename std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare, typename _Alloc::rebind<_Key>::other>::const_iterator = std::_Rb_tree_const_iterator<int>; std::set<_Key, _Compare, _Alloc>::value_type = int]
       insert(const value_type& __x)
       ^
/usr/include/c++/4.8/bits/stl_set.h:460:7: note:   no known conversion for argument 1 from 'std::pair<int, int>' to 'const value_type& {aka const int&}'
/usr/include/c++/4.8/bits/stl_set.h:469:7: note: std::pair<typename std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare, typename _Alloc::rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare, _Alloc>::insert(std::set<_Key, _Compare, _Alloc>::value_type&&) [with _Key = int; _Compare = int; _Alloc = std::allocator<int>; typename std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare, typename _Alloc::rebind<_Key>::other>::const_iterator = std::_Rb_tree_const_iterator<int>; std::set<_Key, _Compare, _Alloc>::value_type = int]
       insert(value_type&& __x)
       ^
/usr/include/c++/4.8/bits/stl_set.h:469:7: note:   no known conversion for argument 1 from 'std::pair<int, int>' to 'std::set<int, int>::value_type&& {aka int&&}'
/usr/include/c++/4.8/bits/stl_set.h:497:7: note: std::set<_Key, _Compare, _Alloc>::iterator std::set<_Key, _Compare, _Alloc>::insert(std::set<_Key, _Compare, _Alloc>::const_iterator, const value_type&) [with _Key = int; _Compare = int; _Alloc = std::allocator<int>; std::set<_Key, _Compare, _Alloc>::iterator = std::_Rb_tree_const_iterator<int>; std::set<_Key, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<int>; std::set<_Key, _Compare, _Alloc>::value_type = int]
       insert(const_iterator __position, const value_type& __x)
       ^
/usr/include/c++/4.8/bits/stl_set.h:497:7: note:   candidate expects 2 arguments, 1 provided
/usr/include/c++/4.8/bits/stl_set.h:502:7: note: std::set<_Key, _Compare, _Alloc>::iterator std::set<_Key, _Compare, _Alloc>::insert(std::set<_Key, _Compare, _Alloc>::const_iterator, std::set<_Key, _Compare, _Alloc>::value_type&&) [with _Key = int; _Compare = int; _Alloc = std::allocator<int>; std::set<_Key, _Compare, _Alloc>::iterator = std::_Rb_tree_const_iterator<int>; std::set<_Key, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<int>; std::set<_Key, _Compare, _Alloc>::value_type = int]
       insert(const_iterator __position, value_type&& __x)
       ^
/usr/include/c++/4.8/bits/stl_set.h:502:7: note:   candidate expects 2 arguments, 1 provided
/usr/include/c++/4.8/bits/stl_set.h:517:2: note: template<class _InputIterator> void std::set<_Key, _Compare, _Alloc>::insert(_InputIterator, _InputIterator) [with _InputIterator = _InputIterator; _Key = int; _Compare = int; _Alloc = std::allocator<int>]
  insert(_InputIterator __first, _InputIterator __last)
  ^
/usr/include/c++/4.8/bits/stl_set.h:517:2: note:   template argument deduction/substitution failed:
parcare2.cpp:53:38: note:   candidate expects 2 arguments, 1 provided
          setF.insert(make_pair(l, si));

                                      ^
In file included from /usr/include/c++/4.8/set:61:0,
                 from parcare2.cpp:3:
/usr/include/c++/4.8/bits/stl_set.h:529:7: note: void std::set<_Key, _Compare, _Alloc>::insert(std::initializer_list<_Tp>) [with _Key = int; _Compare = int; _Alloc = std::allocator<int>]
       insert(initializer_list<value_type> __l)
       ^
/usr/include/c++/4.8/bits/stl_set.h:529:7: note:   no known conversion for argument 1 from 'std::pair<int, int>' to 'std::initializer_list<int>'
parcare2.cpp:57:38: error: no matching function for call to 'std::set<int, int>::insert(std::pair<int, int>)'
          setF.insert(make_pair(l, -1));

                                      ^
parcare2.cpp:57:38: note: candidates are:
In file included from /usr/include/c++/4.8/set:61:0,
                 from parcare2.cpp:3:
/usr/include/c++/4.8/bits/stl_set.h:460:7: note: std::pair<typename std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare, typename _Alloc::rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare, _Alloc>::insert(const value_type&) [with _Key = int; _Compare = int; _Alloc = std::allocator<int>; typename std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare, typename _Alloc::rebind<_Key>::other>::const_iterator = std::_Rb_tree_const_iterator<int>; std::set<_Key, _Compare, _Alloc>::value_type = int]
       insert(const value_type& __x)
       ^
/usr/include/c++/4.8/bits/stl_set.h:460:7: note:   no known conversion for argument 1 from 'std::pair<int, int>' to 'const value_type& {aka const int&}'
/usr/include/c++/4.8/bits/stl_set.h:469:7: note: std::pair<typename std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare, typename _Alloc::rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare, _Alloc>::insert(std::set<_Key, _Compare, _Alloc>::value_type&&) [with _Key = int; _Compare = int; _Alloc = std::allocator<int>; typename std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare, typename _Alloc::rebind<_Key>::other>::const_iterator = std::_Rb_tree_const_iterator<int>; std::set<_Key, _Compare, _Alloc>::value_type = int]
       insert(value_type&& __x)
       ^
/usr/include/c++/4.8/bits/stl_set.h:469:7: note:   no known conversion for argument 1 from 'std::pair<int, int>' to 'std::set<int, int>::value_type&& {aka int&&}'
/usr/include/c++/4.8/bits/stl_set.h:497:7: note: std::set<_Key, _Compare, _Alloc>::iterator std::set<_Key, _Compare, _Alloc>::insert(std::set<_Key, _Compare, _Alloc>::const_iterator, const value_type&) [with _Key = int; _Compare = int; _Alloc = std::allocator<int>; std::set<_Key, _Compare, _Alloc>::iterator = std::_Rb_tree_const_iterator<int>; std::set<_Key, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<int>; std::set<_Key, _Compare, _Alloc>::value_type = int]
       insert(const_iterator __position, const value_type& __x)
       ^
/usr/include/c++/4.8/bits/stl_set.h:497:7: note:   candidate expects 2 arguments, 1 provided
/usr/include/c++/4.8/bits/stl_set.h:502:7: note: std::set<_Key, _Compare, _Alloc>::iterator std::set<_Key, _Compare, _Alloc>::insert(std::set<_Key, _Compare, _Alloc>::const_iterator, std::set<_Key, _Compare, _Alloc>::value_type&&) [with _Key = int; _Compare = int; _Alloc = std::allocator<int>; std::set<_Key, _Compare, _Alloc>::iterator = std::_Rb_tree_const_iterator<int>; std::set<_Key, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<int>; std::set<_Key, _Compare, _Alloc>::value_type = int]
       insert(const_iterator __position, value_type&& __x)
       ^
/usr/include/c++/4.8/bits/stl_set.h:502:7: note:   candidate expects 2 arguments, 1 provided
/usr/include/c++/4.8/bits/stl_set.h:517:2: note: template<class _InputIterator> void std::set<_Key, _Compare, _Alloc>::insert(_InputIterator, _InputIterator) [with _InputIterator = _InputIterator; _Key = int; _Compare = int; _Alloc = std::allocator<int>]
  insert(_InputIterator __first, _InputIterator __last)
  ^
/usr/include/c++/4.8/bits/stl_set.h:517:2: note:   template argument deduction/substitution failed:
parcare2.cpp:57:38: note:   candidate expects 2 arguments, 1 provided
          setF.insert(make_pair(l, -1));

                                      ^
In file included from /usr/include/c++/4.8/set:61:0,
                 from parcare2.cpp:3:
/usr/include/c++/4.8/bits/stl_set.h:529:7: note: void std::set<_Key, _Compare, _Alloc>::insert(std::initializer_list<_Tp>) [with _Key = int; _Compare = int; _Alloc = std::allocator<int>]
       insert(initializer_list<value_type> __l)
       ^
/usr/include/c++/4.8/bits/stl_set.h:529:7: note:   no known conversion for argument 1 from 'std::pair<int, int>' to 'std::initializer_list<int>'
parcare2.cpp:62:13: error: request for member 'second' in '* it.std::_Rb_tree_const_iterator<_Tp>::operator-><int>()', which is of non-class type 'const int'
      g<<it->second<<" ";    

             ^

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema parcare2 face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

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ă.