#4628
Mugurel
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
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 | #57029584 | Utilizator | |
Fișier | mugurel.cpp | Dimensiune | 4.80 KB |
Data încărcării | 13 Martie 2025, 13:35 | Scor / rezultat | 4 puncte |
mugurel.cpp: In function 'int main()': mugurel.cpp:127:15: warning: unused variable 'nr2' [-Wunused-variable] int nr1=0,nr2=0,v[10002]; ^ mugurel.cpp:63:9: warning: unused variable 'c_port' [-Wunused-variable] int i,j,c_port,c_ban,c_mixte,ans=INT_MAX,mini_port=INT_MAX,mini_ban=INT_MAX,maxi_port=0,maxi_ban=0; ^ mugurel.cpp:63:16: warning: unused variable 'c_ban' [-Wunused-variable] int i,j,c_port,c_ban,c_mixte,ans=INT_MAX,mini_port=INT_MAX,mini_ban=INT_MAX,maxi_port=0,maxi_ban=0; ^ mugurel.cpp:63:22: warning: unused variable 'c_mixte' [-Wunused-variable] int i,j,c_port,c_ban,c_mixte,ans=INT_MAX,mini_port=INT_MAX,mini_ban=INT_MAX,maxi_port=0,maxi_ban=0; ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
2 | 0 secunde | Raspuns corect | 1 | 1 | ||
3 | 0.004 secunde | Suma incorecta | 1 | 0 | ||
4 | 0.02 secunde | Suma incorecta | 1 | 0 | ||
5 | 0.1 secunde | Suma incorecta | 1 | 0 | ||
6 | 0.236 secunde | Suma incorecta | 1 | 0 | ||
7 | 0 secunde | Cutii incorecte | 1 | 0 | ||
8 | 0.004 secunde | Suma incorecta | 1 | 0 | ||
9 | 0.02 secunde | Suma incorecta | 1 | 0 | ||
10 | 0.1 secunde | Suma incorecta | 1 | 0 | ||
11 | 0.224 secunde | Cutii incorecte | 1 | 0 | ||
12 | 0 secunde | Suma incorecta | 3 | 0 | ||
13 | 0.004 secunde | Suma incorecta | 4 | 0 | ||
14 | 0.036 secunde | Suma incorecta | 4 | 0 | ||
15 | 0.252 secunde | Suma incorecta | 4 | 0 | ||
16 | 0 secunde | Suma incorecta | 3 | 0 | ||
17 | 0 secunde | Cutii incorecte | 3 | 0 | ||
18 | 0 secunde | Raspuns corect | 3 | 3 | ||
19 | 0 secunde | Suma incorecta | 3 | 0 | ||
20 | 0 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 | Suma incorecta | 3 | 0 | ||
25 | 0.008 secunde | Suma incorecta | 3 | 0 | ||
26 | 0.012 secunde | Suma incorecta | 3 | 0 | ||
27 | 0.06 secunde | Suma incorecta | 3 | 0 | ||
28 | 0.168 secunde | Suma incorecta | 3 | 0 | ||
29 | 0.064 secunde | Suma incorecta | 3 | 0 | ||
30 | 0.028 secunde | Suma incorecta | 3 | 0 | ||
31 | 0.028 secunde | Cutii incorecte | 3 | 0 | ||
32 | 0.044 secunde | Suma incorecta | 3 | 0 | ||
33 | 0.048 secunde | Suma incorecta | 3 | 0 | ||
34 | 0.064 secunde | Caught fatal signal 11 | 3 | 0 | ||
35 | 0.156 secunde | Caught fatal signal 11 | 3 | 0 | ||
36 | 0.132 secunde | Caught fatal signal 11 | 3 | 0 | ||
37 | 0.168 secunde | Caught fatal signal 11 | 4 | 0 | ||
38 | 0.04 secunde | Cutii incorecte | 4 | 0 | ||
39 | 0.236 secunde | Caught fatal signal 11 | 4 | 0 | ||
Punctaj total | 4 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Mugurel 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ă.