Detalii evaluare #57358879

Rezumat problemă

#4434 castel5

După ce a scăpat de Spân și a devenit împărat, Harap-Alb a decis să își construiască un nou castel în împărăția sa ce poate fi reprezentată cu ajutorul sistemului de coordonate carteziene. El știe că Roș-Împărat a construit N+1 garduri dreptunghiulare, însă știe și că acesta este cam zgârcit și nu a folosit cele mai bune materiale. Harap-Alb a învățat din greșeli, iar acum încearcă să se ferească de pericole cât de mult poate. De aceea, el vrea să își amplaseze castelul într-un punct din sistemul cartezian care să se afle în interiorul a cel puțin N dintre cele N+1 garduri. Fiind date numărul natural nenul N și coordonatele celor N+1 garduri (perechi de colțuri stânga-sus și dreapta-jos), să se determine (în cazul în care există) punctul cel mai apropiat de originea sistemului de coordonate unde Harap-Alb își poate amplasa castelul astfel încât acesta să se afle în interiorul a cel puțin N garduri.

ONI 2023 clasa a VIII-a

Detalii

Problema castel5 Operații I/O castel.in/castel.out
Limita timp 0.4 secunde Limita memorie Total: 128 MB / Stivă 64 MB
Id soluție #57358879 Utilizator Sanalp Karan (Karan_Stefan_Sanalp)
Fișier castel5.cpp Dimensiune 487 B
Data încărcării 27 Martie 2025, 12:27 Scor / rezultat Eroare de compilare

Evaluare


Mesaj compilare

castel5.cpp:7:45: error: conflicting declaration 'coordonate a [200005]'
 struct coordonate{int x1,y1,x2,y2;} a[200005],s[200005];

                                             ^
castel5.cpp:6:11: error: 'a' has a previous declaration as 'int a'
 int n,x,y,a,b;

           ^
castel5.cpp: In function 'coordonate unire(coordonate, coordonate)':
castel5.cpp:9:24: error: 'x1' was not declared in this scope
     return {max(x.x1,y,x1),max(x.y1,y,y1),min(x.x2,y.x2),min(x.y2,x.y2)}

                        ^
castel5.cpp:9:41: error: no matching function for call to 'max(int&, coordonate&, double (&)(double)throw ())'
     return {max(x.x1,y,x1),max(x.y1,y,y1),min(x.x2,y.x2),min(x.y2,x.y2)}

                                         ^
castel5.cpp:9:41: note: candidates are:
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/istream:38,
                 from /usr/include/c++/4.8/sstream:38,
                 from /usr/include/c++/4.8/complex:45,
                 from /usr/include/c++/4.8/ccomplex:38,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52,
                 from castel5.cpp:1:
/usr/include/c++/4.8/bits/stl_algobase.h:216:5: note: template<class _Tp> const _Tp& std::max(const _Tp&, const _Tp&)
     max(const _Tp& __a, const _Tp& __b)
     ^
/usr/include/c++/4.8/bits/stl_algobase.h:216:5: note:   template argument deduction/substitution failed:
castel5.cpp:9:41: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'coordonate')
     return {max(x.x1,y,x1),max(x.y1,y,y1),min(x.x2,y.x2),min(x.y2,x.y2)}

                                         ^
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/istream:38,
                 from /usr/include/c++/4.8/sstream:38,
                 from /usr/include/c++/4.8/complex:45,
                 from /usr/include/c++/4.8/ccomplex:38,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52,
                 from castel5.cpp:1:
/usr/include/c++/4.8/bits/stl_algobase.h:260:5: note: template<class _Tp, class _Compare> const _Tp& std::max(const _Tp&, const _Tp&, _Compare)
     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
     ^
/usr/include/c++/4.8/bits/stl_algobase.h:260:5: note:   template argument deduction/substitution failed:
castel5.cpp:9:41: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'coordonate')
     return {max(x.x1,y,x1),max(x.y1,y,y1),min(x.x2,y.x2),min(x.y2,x.y2)}

                                         ^
In file included from /usr/include/c++/4.8/algorithm:62:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from castel5.cpp:1:
/usr/include/c++/4.8/bits/stl_algo.h:4231:5: note: template<class _Tp> _Tp std::max(std::initializer_list<_Tp>)
     max(initializer_list<_Tp> __l)
     ^
/usr/include/c++/4.8/bits/stl_algo.h:4231:5: note:   template argument deduction/substitution failed:
castel5.cpp:9:41: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
     return {max(x.x1,y,x1),max(x.y1,y,y1),min(x.x2,y.x2),min(x.y2,x.y2)}

                                         ^
In file included from /usr/include/c++/4.8/algorithm:62:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from castel5.cpp:1:
/usr/include/c++/4.8/bits/stl_algo.h:4236:5: note: template<class _Tp, class _Compare> _Tp std::max(std::initializer_list<_Tp>, _Compare)
     max(initializer_list<_Tp> __l, _Compare __comp)
     ^
/usr/include/c++/4.8/bits/stl_algo.h:4236:5: note:   template argument deduction/substitution failed:
castel5.cpp:9:41: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
     return {max(x.x1,y,x1),max(x.y1,y,y1),min(x.x2,y.x2),min(x.y2,x.y2)}

                                         ^
castel5.cpp:9:72: error: could not convert '{<expression error>, <expression error>, std::min<int>((*(const int*)(& x.coordonate::x2)), (*(const int*)(& y.coordonate::x2))), std::min<int>((*(const int*)(& x.coordonate::y2)), (*(const int*)(& x.coordonate::y2)))}' from '<brace-enclosed initializer list>' to 'coordonate'
     return {max(x.x1,y,x1),max(x.y1,y,y1),min(x.x2,y.x2),min(x.y2,x.y2)}

                                                                        ^
castel5.cpp:10:1: error: expected ';' before '}' token
 }

 ^
castel5.cpp: In function 'int main()':
castel5.cpp:13:37: error: invalid types 'int[int]' for array subscript
     for(int i=1;i<=n+1;i++) fin>>a[i].x1>>a[i].y1>>a[i].x2>>a[i].y2;

                                     ^
castel5.cpp:13:46: error: invalid types 'int[int]' for array subscript
     for(int i=1;i<=n+1;i++) fin>>a[i].x1>>a[i].y1>>a[i].x2>>a[i].y2;

                                              ^
castel5.cpp:13:55: error: invalid types 'int[int]' for array subscript
     for(int i=1;i<=n+1;i++) fin>>a[i].x1>>a[i].y1>>a[i].x2>>a[i].y2;

                                                       ^
castel5.cpp:13:64: error: invalid types 'int[int]' for array subscript
     for(int i=1;i<=n+1;i++) fin>>a[i].x1>>a[i].y1>>a[i].x2>>a[i].y2;

                                                                ^
castel5.cpp:15:28: error: invalid types 'int[int]' for array subscript
         s[i]=unire(s[i],a[i]);

                            ^
castel5.cpp: In function 'coordonate unire(coordonate, coordonate)':
castel5.cpp:10: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 castel5 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ă.