#3889
CntSubsirMax
Felicia este interesată de subșirul maxim lexicografic al unui șir de caractere. Rețineți că un șir a
este considerat mai mic în ordine lexicografică decât un șir b
dacă a
este prefix al lui b
, sau dacă există o poziție i
pentru care avem a[1] = b[1], ..., a[i − 1] = b[i − 1], și a[i] < b[i]
. Astfel, subșirul maxim lexicografic al unui șir de caractere este cel mai mare subșir, în ordinea lexicografică, al unui șir de caractere (de exemplu zzxx
pentru azbxazbxaax
). Pentru un șir s
de caractere vom nota cu m(s)
subșirul maxim lexicografic al lui s
, și cu v(s) = |m(s)|
lungimea acestui subșir. Felicia vă dă un șir s
format din caractere mici ale alfabetului englez. Considerați toate subsecvențele continue s'
ale lui s
. Felicia vrea să calculați suma valorilor v(s')
pentru toate subsecvențele posibile s'
amintite anterior
Concursul Național Info Pro, Etapa II
Problema | CntSubsirMax | Operații I/O | tastatură/ecran |
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #45364439 | Utilizator | |
Fișier | cntsubsirmax.cpp | Dimensiune | 1.09 KB |
Data încărcării | 10 Octombrie 2023, 18:47 | Scor / rezultat | Eroare de compilare |
cntsubsirmax.cpp: In function 'void solve1()': cntsubsirmax.cpp:26:24: error: template argument 1 is invalid stack<long lon gint> stiva; ^ cntsubsirmax.cpp:26:24: error: template argument 2 is invalid cntsubsirmax.cpp:26:31: error: invalid type in declaration before ';' token stack<long lon gint> stiva; ^ cntsubsirmax.cpp:31:23: error: request for member 'empty' in 'stiva', which is of non-class type 'int' while (!stiva.empty() && s[stiva.top()] < s[i]) ^ cntsubsirmax.cpp:31:42: error: request for member 'top' in 'stiva', which is of non-class type 'int' while (!stiva.empty() && s[stiva.top()] < s[i]) ^ cntsubsirmax.cpp:33:37: error: request for member 'top' in 'stiva', which is of non-class type 'int' long long int x = stiva.top(); ^ cntsubsirmax.cpp:34:19: error: request for member 'pop' in 'stiva', which is of non-class type 'int' stiva.pop(); ^ cntsubsirmax.cpp:37:15: error: request for member 'push' in 'stiva', which is of non-class type 'int' stiva.push(i); ^ cntsubsirmax.cpp:39:19: error: request for member 'empty' in 'stiva', which is of non-class type 'int' while (!stiva.empty()) ^ cntsubsirmax.cpp:41:33: error: request for member 'top' in 'stiva', which is of non-class type 'int' long long int x = stiva.top(); ^ cntsubsirmax.cpp:42:15: error: request for member 'pop' in 'stiva', which is of non-class type 'int' stiva.pop(); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema CntSubsirMax 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ă.