Detalii evaluare #60087004

Rezumat problemă

#4628

Mugurel a decis să devină în sfârșit cel mai mare antreprenor din Imperiul Rațelor de Cauciuc. Astfel, el și-a deschis o afacere cu fructele sale preferate: portocale și banane.

Acesta primește planul recoltelor de fructe: timp de N zile, în fiecare zi Mugurel primește M grămezi de portocale și M grămezi de banane (alternativ), reprezentate prin numărul lor de kilograme.
Mugurel trebuie să împacheteze toate aceste fructe, însă producătorul său de cutii îi oferă două variante, din care poate alege doar una: fabricarea a K cutii pentru portocale și K cutii pentru banane (împachetare separată), sau fabricarea a K cutii mixte (împachetarea portocalelor și a bananelor împreună).

Însă, totul are un preț. Fie \(c_{port}\), \(c_{ban}\), \(c_{mixt}\) capacitățile cutiilor de portocale, banane respectiv mixte. Atunci, Mugurel va plăti \(A \; maci \cdot c_{port} + B \; maci \cdot c_{ban}\) sau \(C \; maci \cdot c_{mixt}\), în funcție de varianta de împachetare aleasă, unde \(A\), \(B\) și \(C\) vor fi prețuri oferite de producător. Mugurel va alege metoda de împachetare astfel încât suma de bani cheltuită să fie cât mai mică.

După ce plătește și primește cutiile, începe împachetarea. De fiecare dată când închide o cutie, o pune la finalul șirului de cutii deja închise (Mugurel se ocupă mai întâi de grămada de portocale, apoi de cea de banane). La finalul împachetării fructelor, el trebuie să împartă șirul de cutii în două șiruri consecutive, pe care le vom numi loturi.

Loturile vor fi trimise către cele două cetăți ale Imperiului, însă Mugurel nu vrea să pornească un război între cele două cetăți, așadar vrea să le împartă cu grijă. Numim discrepanță a unui lot diferența dintre cutia cu număr maxim de kilograme și cea cu număr minim. Împărțirea trebuie făcută astfel încât suma discrepanțelor celor două loturi să fie minimă, pentru împachetare.

Cu atâtea responsabilități pe cap, Mugurel vă roagă să-l ajutați cu afacerea.

Concursul Interjudeţean de Matematică şi Informatică Grigore Moisil, 2023, Clasa a IX-a
Fișiere Ignat Alex-Matei (AlexIgnat) Alex-Matei Ignat concurs

Detalii

Problema Mugurel Operații I/O mugurel.in/mugurel.out
Limita timp 0.7 secunde Limita memorie Total: 128 MB / Stivă 16 MB
Id soluție #60087004 Utilizator Simina Alexandru (alex2010)
Fișier mugurel.cpp Dimensiune 4.54 KB
Data încărcării 17 Octombrie 2025, 10:49 Scor/rezultat 0 puncte

Evaluare

Mesaj compilare

mugurel.cpp: In function 'int findMinVal(int, int, int, int (*)[1009])':
mugurel.cpp:37:25: warning: variable 'best' set but not used [-Wunused-but-set-variable]
     int l = 1, r = 1e9, best = -1;

                         ^
mugurel.cpp:52:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }

 ^
mugurel.cpp: In function 'int main()':
mugurel.cpp:120:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i = 0; i < sir.size(); i++)

                                     ^
mugurel.cpp:126:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i = 0; i < sir.size(); i++)

                                     ^
mugurel.cpp:132:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i = 0; i < sir.size() - 1; i++)

                                         ^
mugurel.cpp:168:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i = 0; i < sir.size(); i++)

                                     ^
mugurel.cpp:174:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i = 0; i < sir.size(); i++)

                                     ^
mugurel.cpp:180:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i = 0; i < sir.size() - 1; i++)

                                         ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
2 0 secunde Cutii incorecte 1 0
3 0.004 secunde Suma incorecta 1 0
4 0.02 secunde Cutii incorecte 1 0
5 0.1 secunde Cutii incorecte 1 0
6 0.252 secunde Suma incorecta 1 0
7 0 secunde Cutii incorecte 1 0
8 0.004 secunde Cutii incorecte 1 0
9 0.02 secunde Cutii incorecte 1 0
10 0.1 secunde Suma incorecta 1 0
11 0.24 secunde Cutii incorecte 1 0
12 0.004 secunde Suma incorecta 3 0
13 0.008 secunde Suma incorecta 4 0
14 0.04 secunde Suma incorecta 4 0
15 0.34 secunde Suma incorecta 4 0
16 0 secunde Suma incorecta 3 0
17 0 secunde Cutii incorecte 3 0
18 0 secunde Cutii incorecte 3 0
19 0 secunde Suma incorecta 3 0
20 0.004 secunde Cutii incorecte 3 0
21 0 secunde Suma incorecta 3 0
22 0.004 secunde Suma incorecta 3 0
23 0 secunde Suma incorecta 3 0
24 0.02 secunde Cutii incorecte 3 0
25 0.008 secunde Cutii incorecte 3 0
26 0.012 secunde Cutii incorecte 3 0
27 0.056 secunde Cutii incorecte 3 0
28 0.172 secunde Suma incorecta 3 0
29 0.064 secunde Cutii incorecte 3 0
30 0.028 secunde Suma incorecta 3 0
31 0.072 secunde Suma incorecta 3 0
32 0.08 secunde Suma incorecta 3 0
33 0.096 secunde Suma incorecta 3 0
34 0.204 secunde Cutii incorecte 3 0
35 Depășit Limita de timp depășită 3 0
36 Depășit Limita de timp depășită 3 0
37 0.464 secunde Suma incorecta 4 0
38 0.096 secunde Suma incorecta 4 0
39 Depășit Limita de timp depășită 4 0
Punctaj total 0

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 Mugurel 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!