#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:
(0,0),(0,M),(N,0) sau (N,M).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
| 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 | |
| Fișier | piscina.cpp | Dimensiune | 1.33 KB |
| Data încărcării | 05 Octombrie 2025, 01:04 | Scor/rezultat | Eroare de 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] } ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Piscina 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ă.