Detalii evaluare #59616736

Rezumat problemă

#2125

Vasile este un tânăr programator angajat recent la o firma oarecare din domenul IT. Deoarece câştigă foarte bine el şi-a achiziţionat un teren de formă dreptunghiulară. Colţurile dreptunghiului care definesc acest teren au coordonatele (0,0), (N,M), unde N şi M sunt numere naturale.

Pe acest teren Vasile doreşte să construiască în primul rând o piscină de arie maximă, de formă dreptunghiulară, cu laturile respectiv paralele cu cele ale terenului.

Deşi credea că şi-a îndeplinit visul, Vasile şi-a dat seama că în viaţă nimic nu este atât de uşor deoarece au apărut două restricţii pe care el trebuie să le respecte:

  • Deoarece alimentarea cu apă se poate face doar în colţurile dreptunghiului care reprezintă terenul, piscina trebuie să aibă un punct comun cu unul dintre punctele (0,0),(0,M),(N,0) sau (N,M).
  • Pe teren se află P pomi la coordonate întregi cunoscute. Aceştia nu pot face parte din dreptunghiul ce defineşte piscina. Iar Vasile nici nu se gândeşte să taie vreun copac pentru că îi place aerul curat. Copacii se pot afla însă pe marginea piscinei.

Scrieţi un program care determină aria maximă pe care o poate avea piscina respectând restricţiile din enunţ.

Olimpiada Municipala Informatica Iasi 2015
Fișiere Peticaru Alexandru (AlexandruPeticaru) Paul Diac concurs

Detalii

Problema Piscina Operații I/O piscina.in/piscina.out
Limita timp 1.3 secunde Limita memorie Total: 6 MB / Stivă 1 MB
Id soluție #59616736 Utilizator jarnea justin (jarnea_justin)
Fișier piscina.cpp Dimensiune 1.33 KB
Data încărcării 05 Octombrie 2025, 01:04 Scor/rezultat Eroare de compilare

Evaluare

Mesaj compilare

piscina.cpp:16:18: error: ISO C++ forbids declaration of 'punct' with no type [-fpermissive]
 bool comp(const& punct a,const& punct b)

                  ^
piscina.cpp:16:24: error: expected ',' or '...' before 'a'
 bool comp(const& punct a,const& punct b)

                        ^
piscina.cpp: In function 'bool comp(const int&)':
piscina.cpp:18:12: error: 'a' was not declared in this scope
     return a.y<b.y;

            ^
piscina.cpp:18:16: error: 'b' was not declared in this scope
     return a.y<b.y;

                ^
In file included from /usr/include/c++/4.8/algorithm:62:0,
                 from piscina.cpp:4:
/usr/include/c++/4.8/bits/stl_algo.h: In instantiation of 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<punct*, std::vector<punct> >; _Compare = bool (*)(const int&)]':
/usr/include/c++/4.8/bits/stl_algo.h:2226:70:   required from 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<punct*, std::vector<punct> >; _Compare = bool (*)(const int&)]'
/usr/include/c++/4.8/bits/stl_algo.h:5500:55:   required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<punct*, std::vector<punct> >; _Compare = bool (*)(const int&)]'
piscina.cpp:25:32:   required from here
/usr/include/c++/4.8/bits/stl_algo.h:2159:29: error: invalid initialization of reference of type 'const int&' from expression of type 'punct'
    if (__comp(*__i, *__first))
                             ^
/usr/include/c++/4.8/bits/stl_algo.h: In instantiation of 'void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<punct*, std::vector<punct> >; _Compare = bool (*)(const int&)]':
/usr/include/c++/4.8/bits/stl_algo.h:5349:59:   required from 'void std::partial_sort(_RAIter, _RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<punct*, std::vector<punct> >; _Compare = bool (*)(const int&)]'
/usr/include/c++/4.8/bits/stl_algo.h:2332:68:   required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<punct*, std::vector<punct> >; _Size = int; _Compare = bool (*)(const int&)]'
/usr/include/c++/4.8/bits/stl_algo.h:5499:44:   required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<punct*, std::vector<punct> >; _Compare = bool (*)(const int&)]'
piscina.cpp:25:32:   required from here
/usr/include/c++/4.8/bits/stl_algo.h:1948:27: error: invalid initialization of reference of type 'const int&' from expression of type 'punct'
  if (__comp(*__i, *__first))
                           ^
/usr/include/c++/4.8/bits/stl_algo.h: In instantiation of 'void std::__move_median_to_first(_Iterator, _Iterator, _Iterator, _Iterator, _Compare) [with _Iterator = __gnu_cxx::__normal_iterator<punct*, std::vector<punct> >; _Compare = bool (*)(const int&)]':
/usr/include/c++/4.8/bits/stl_algo.h:2295:13:   required from '_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<punct*, std::vector<punct> >; _Compare = bool (*)(const int&)]'
/usr/include/c++/4.8/bits/stl_algo.h:2337:62:   required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<punct*, std::vector<punct> >; _Size = int; _Compare = bool (*)(const int&)]'
/usr/include/c++/4.8/bits/stl_algo.h:5499:44:   required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<punct*, std::vector<punct> >; _Compare = bool (*)(const int&)]'
piscina.cpp:25:32:   required from here
/usr/include/c++/4.8/bits/stl_algo.h:114:28: error: invalid initialization of reference of type 'const int&' from expression of type 'punct'
       if (__comp(*__a, *__b))
                            ^
/usr/include/c++/4.8/bits/stl_algo.h:116:25: error: invalid initialization of reference of type 'const int&' from expression of type 'punct'
    if (__comp(*__b, *__c))
                         ^
/usr/include/c++/4.8/bits/stl_algo.h:118:30: error: invalid initialization of reference of type 'const int&' from expression of type 'punct'
    else if (__comp(*__a, *__c))
                              ^
/usr/include/c++/4.8/bits/stl_algo.h:123:33: error: invalid initialization of reference of type 'const int&' from expression of type 'punct'
       else if (__comp(*__a, *__c))
                                 ^
/usr/include/c++/4.8/bits/stl_algo.h:125:33: error: invalid initialization of reference of type 'const int&' from expression of type 'punct'
       else if (__comp(*__b, *__c))
                                 ^
/usr/include/c++/4.8/bits/stl_algo.h: In instantiation of '_RandomAccessIterator std::__unguarded_partition(_RandomAccessIterator, _RandomAccessIterator, const _Tp&, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<punct*, std::vector<punct> >; _Tp = punct; _Compare = bool (*)(const int&)]':
/usr/include/c++/4.8/bits/stl_algo.h:2296:78:   required from '_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<punct*, std::vector<punct> >; _Compare = bool (*)(const int&)]'
/usr/include/c++/4.8/bits/stl_algo.h:2337:62:   required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<punct*, std::vector<punct> >; _Size = int; _Compare = bool (*)(const int&)]'
/usr/include/c++/4.8/bits/stl_algo.h:5499:44:   required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<punct*, std::vector<punct> >; _Compare = bool (*)(const int&)]'
piscina.cpp:25:32:   required from here
/usr/include/c++/4.8/bits/stl_algo.h:2263:35: error: invalid initialization of reference of type 'const int&' from expression of type 'punct'
    while (__comp(*__first, __pivot))
                                   ^
/usr/include/c++/4.8/bits/stl_algo.h:2266:34: error: invalid initialization of reference of type 'const int&' from expression of type 'const punct'
    while (__comp(__pivot, *__last))
                                  ^
In file included from /usr/include/c++/4.8/bits/stl_algo.h:61:0,
                 from /usr/include/c++/4.8/algorithm:62,
                 from piscina.cpp:4:
/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<punct*, std::vector<punct> >; _Distance = int; _Tp = punct; _Compare = bool (*)(const int&)]':
/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<punct*, std::vector<punct> >; _Compare = bool (*)(const int&)]'
/usr/include/c++/4.8/bits/stl_algo.h:1946:47:   required from 'void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<punct*, std::vector<punct> >; _Compare = bool (*)(const int&)]'
/usr/include/c++/4.8/bits/stl_algo.h:5349:59:   required from 'void std::partial_sort(_RAIter, _RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<punct*, std::vector<punct> >; _Compare = bool (*)(const int&)]'
/usr/include/c++/4.8/bits/stl_algo.h:2332:68:   required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<punct*, std::vector<punct> >; _Size = int; _Compare = bool (*)(const int&)]'
/usr/include/c++/4.8/bits/stl_algo.h:5499:44:   required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<punct*, std::vector<punct> >; _Compare = bool (*)(const int&)]'
piscina.cpp:25:32:   required from here
/usr/include/c++/4.8/bits/stl_heap.h:313:40: error: invalid initialization of reference of type 'const int&' from expression of type 'punct'
        *(__first + (__secondChild - 1))))
                                        ^
piscina.cpp:19:1: warning: control reaches end of non-void function [-Wreturn-type]
 }

 ^

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

Du-te sus!