#2517
panou
Gigel vrea să-şi deschidă o firmă de publicitate. Întrucât nu are experiență, s-a decis să înceapă modest închiriind Q
panouri publicitare, din care la rândul lui va închiria anumite porțiuni. Astfel el s-a decis să divizeze fiecare panou de înălțime H
într-un număr maxim posibil de regiuni/benzi orizontale, toate de înălțime h
, deci identice, cu condiția să nu se suprapună. De asemenea, el a făcut o analiză a pieței și a asociat profitul P[h]
ce l-ar putea obține pentru o regiune de înălțime h
, 1 ≤ h ≤ hmax
. Întrucât fiecare client are propria opinie despre dimensiunea reclamei perfecte, profiturile nu sunt corelate cu dimensiunile, astfel fiind posibil ca regiuni mai mici să genereze profit mai mare.
Cunoscând secvența profiturilor, P[1]
, P[2]
, …, P[hmax]
, Gigel își dorește să afle pentru o listă de panouri H[1]
, H[2]
, …, H[Q]
care vor fi profiturile maxime asociate.
Lot juniori Câmpulung Muscel, 2018
Problema | panou | Operații I/O |
![]() panou.in /panou.out
|
---|---|---|---|
Limita timp | 0.7 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #47487556 | Utilizator | |
Fișier | panou.cpp | Dimensiune | 807 B |
Data încărcării | 14 Decembrie 2023, 12:51 | Scor / rezultat | 0 puncte |
panou.cpp: In function 'int main()': panou.cpp:16:25: warning: suggest parentheses around '-' inside '<<' [-Wparentheses] for (j = 0; j <= hmax - 1 << (i - 1); j++) ^ panou.cpp:18:48: warning: suggest parentheses around '+' inside '<<' [-Wparentheses] rmq[i][j] = max(rmq[i - 1][j], rmq[i - 1][j + 1 << (i - 1)]); ^ panou.cpp:30:75: warning: suggest parentheses around '-' inside '<<' [-Wparentheses] ans = max(ans, x / a * max(rmq[lg[b - a + 1]][a], rmq[lg[b - a + 1]][b - 1 << (lg[b - a + 1])])); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | Caught fatal signal 11 | 5 | 0 | ||
1 | 0 secunde | Caught fatal signal 11 | 5 | 0 | ||
2 | 0.012 secunde | Caught fatal signal 11 | 5 | 0 | ||
3 | 0.012 secunde | Caught fatal signal 11 | 5 | 0 | ||
4 | 0.008 secunde | Caught fatal signal 11 | 5 | 0 | ||
5 | 0.004 secunde | Caught fatal signal 11 | 5 | 0 | ||
6 | 0.012 secunde | Caught fatal signal 11 | 5 | 0 | ||
7 | 0.012 secunde | Caught fatal signal 11 | 5 | 0 | ||
8 | 0.012 secunde | Caught fatal signal 11 | 5 | 0 | ||
9 | 0.012 secunde | Caught fatal signal 11 | 5 | 0 | ||
10 | 0.012 secunde | Caught fatal signal 11 | 5 | 0 | ||
11 | 0.012 secunde | Caught fatal signal 11 | 5 | 0 | ||
12 | 0.012 secunde | Caught fatal signal 11 | 5 | 0 | ||
13 | 0.012 secunde | Caught fatal signal 11 | 5 | 0 | ||
14 | 0.008 secunde | Caught fatal signal 11 | 5 | 0 | ||
15 | 0.012 secunde | Caught fatal signal 11 | 5 | 0 | ||
16 | 0.004 secunde | Caught fatal signal 11 | 5 | 0 | ||
17 | 0.012 secunde | Caught fatal signal 11 | 5 | 0 | ||
18 | 0.012 secunde | Caught fatal signal 11 | 5 | 0 | ||
19 | 0.012 secunde | Caught fatal signal 11 | 5 | 0 | ||
Punctaj total | 0 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema panou 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ă.