#3652
secvcost
Se dă un șir V
de N
numere naturale distincte. O secvență [X, Y]
este formată din toate pozițiile consecutive dintre X
și Y
din șir. Se definește costul unei poziții P
ca fiind valoarea din șir de pe poziția P
înmulțită cu lungimea maximă a unei secvențe care conține poziția P
și a cărei valoare maximă se află tot pe poziția P
. Se dau M
întrebări de forma: X Y
– să se calculeze suma tuturor costurilor pozițiilor din secvența [X, Y]
.
Concursul Național Info Pro, Etapa I
Problema | secvcost | Operații I/O |
secvcost.in /secvcost.out
|
---|---|---|---|
Limita timp | 0.3 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #54916401 | Utilizator | |
Fișier | secvcost.cpp | Dimensiune | 1.60 KB |
Data încărcării | 12 Decembrie 2024, 09:38 | Scor / rezultat | Eroare de compilare |
secvcost.cpp:6:21: warning: missing terminating ' character [enabled by default] const int MAXN = 200'000; ^ secvcost.cpp:6:1: error: missing terminating ' character const int MAXN = 200'000; ^ secvcost.cpp:7:1: error: expected ',' or ';' before 'const' const int MAXLOG = 17; ^ secvcost.cpp:11:11: error: 'MAXLOG' was not declared in this scope int rmq[MAXLOG + 1][MAXN + 1]; ^ secvcost.cpp: In member function 'void maxRMQ::init(int, int*)': secvcost.cpp:17:7: error: 'rmq' was not declared in this scope rmq[0][i] = v[i]; ^ secvcost.cpp: In member function 'void maxRMQ::build()': secvcost.cpp:23:25: error: 'MAXLOG' was not declared in this scope for(int p = 1; p <= MAXLOG; p++ ){ ^ secvcost.cpp:25:9: error: 'rmq' was not declared in this scope rmq[p][i] = max(rmq[p - 1][i], rmq[p - 1][i + (1 << (p - 1))]); ^ secvcost.cpp: In member function 'int maxRMQ::query(int, int)': secvcost.cpp:31:16: error: 'rmq' was not declared in this scope return max(rmq[put][l], rmq[put][r - (1 << put) + 1]); ^ secvcost.cpp:32:3: warning: control reaches end of non-void function [-Wreturn-type] } ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema secvcost 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ă.