#1729
Îl cunoașteți pe Dorel cel ”priceput” la toate. Acesta și-a propus să “strice” armonia unui șir S format din N caractere litere mici ale alfabetului englez, S=(S[1],S[2],…,S[N]).
El alege la întâmplare un caracter din șir, caracter aflat pe poziția k (1≤k≤N) și caută în stânga lui k primul caracter mai mare sau egal cu S[k], fie acesta aflat pe poziția i, S[k]≤S[i]. Dacă acesta nu există, i=1. Această alegere nu este suficientă. Dorel caută în dreapta lui k primul caracter mai mic sau egal cu S[k], fie acesta pe poziția j, S[j]≤S[k]. Dacă acesta nu există, j=N. Extrage din șirul S subșirul astfel delimitat. Ca urmare a alegerii făcute, Dorel obține două subșiruri:
X=(S[1],S[2],…,S[i-1],S[j+1],S[j+2],…,S[N])Y=(S[i],S[i+1],…,S[j])Cunoscând șirul S, ajutați-l pe Dorel să răspundă la Q întrebări de forma:
k din șirul S să se determine lungimea maximă a unei subsecvențe palindromice comune șirurilor X și Y.Lot Juniori Magurele, 2016
| Problema | Dorel | Operații I/O |
dorel.in/dorel.out
|
|---|---|---|---|
| Limita timp | 0.5 secunde | Limita memorie |
Total: 128 MB
/
Stivă 8 MB
|
| Id soluție | #58760886 | Utilizator | |
| Fișier | dorel.cpp | Dimensiune | 5.72 KB |
| Data încărcării | 03 August 2025, 11:36 | Scor/rezultat | Eroare de compilare |
dorel.cpp: In function 'bool check(int, const string&, const string&)': dorel.cpp:59:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (len > X.length() || len > Y.length()) return false; ^ dorel.cpp:59:44: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (len > X.length() || len > Y.length()) return false; ^ dorel.cpp: In function 'int main()': dorel.cpp:167:63: error: 'ans_odd' was not declared in this scope low = 0, high = std::min(X.length(), Y.length()) / 2, ans_odd = 0; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Dorel 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ă.