Detalii evaluare #42929456

Rezumat problemă

#1855 Heap

Se consideră o colecție de numere naturale, inițial vidă. Asupra ei se fac două tipuri de operații:

  • 1 x – valoarea x se adaugă în colecție;
  • 2 – cea mai mare valoare din colecție se afișează, apoi se elimină din colecție.

Dându-se un șir de m operații, să se afișeze în ordine rezultatele operațiilor de tip 2.

Detalii

Problema Heap Operații I/O heap.in/heap.out
Limita timp 0.3 secunde Limita memorie Total: 64 MB / Stivă 8 MB
Id soluție #42929456 Utilizator Moldovan Gabi (GM1337)
Fișier heap.cpp Dimensiune 547 B
Data încărcării 22 Martie 2023, 21:25 Scor / rezultat Eroare de compilare

Evaluare


Mesaj compilare

heap.cpp:9:18: error: expected type-specifier before '(' token
     bool operator(int a, int b)

                  ^
In file included from /usr/include/c++/4.8/bits/stl_algo.h:61:0,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from heap.cpp:1:
/usr/include/c++/4.8/bits/stl_heap.h: In instantiation of 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Distance = int; _Tp = int; _Compare = compare]':
/usr/include/c++/4.8/bits/stl_heap.h:448:15:   required from 'void std::make_heap(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = compare]'
/usr/include/c++/4.8/bits/stl_queue.h:411:48:   required from 'std::priority_queue<_Tp, _Sequence, _Compare>::priority_queue(const _Compare&, _Sequence&&) [with _Tp = int; _Sequence = std::vector<int>; _Compare = compare]'
heap.cpp:15:43:   required from here
/usr/include/c++/4.8/bits/stl_heap.h:313:40: error: no match for call to '(compare) (int&, int&)'
        *(__first + (__secondChild - 1))))
                                        ^
/usr/include/c++/4.8/bits/stl_heap.h: In instantiation of 'void std::__push_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Distance = int; _Tp = int; _Compare = compare]':
/usr/include/c++/4.8/bits/stl_heap.h:222:58:   required from 'void std::push_heap(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = compare]'
/usr/include/c++/4.8/bits/stl_queue.h:499:41:   required from 'void std::priority_queue<_Tp, _Sequence, _Compare>::push(const value_type&) [with _Tp = int; _Sequence = std::vector<int>; _Compare = compare; std::priority_queue<_Tp, _Sequence, _Compare>::value_type = int]'
heap.cpp:28:22:   required from here
/usr/include/c++/4.8/bits/stl_heap.h:183:47: error: no match for call to '(compare) (int&, int&)'
       && __comp(*(__first + __parent), __value))
                                               ^

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