#2464
anagrame3
Se dau două șiruri S1
si S2
formate doar cu litere mici. Numim subșir de lungime K
al unui șir a
un șir a' = a
i1
, a
i2
,…, a
iK
astfel încât să avem: i1 < i2 < ... < iK
.
Să se determine lungimea maximă a unui subșir din S1
, format prin concatenarea unor anagrame ale șirului S2
. Dintre toate subșirurile cu lungime maximă se va determina cel care este cel mai mic lexicografic. Un șir de lungime na
se consideră mai mic lexicografic decât un șir de lungime nb dacă există un indice i
, astfel încât a
1
=b
1
, a
2
=b
1
, …, a
i-1
=b
i-1
și a
i
<b
i
. Un șir a
este anagrama unui șir b
dacă sortându-le crescător pe fiecare se obțin două șiruri identice.
Problema | anagrame3 | Operații I/O |
![]() anagrame3.in /anagrame3.out
|
---|---|---|---|
Limita timp | 0.3 secunde | Limita memorie |
Total: 64 MB
/
Stivă 32 MB
|
Id soluție | #50149808 | Utilizator | |
Fișier | anagrame3.cpp | Dimensiune | 1.94 KB |
Data încărcării | 28 Martie 2024, 18:21 | Scor / rezultat | 88 puncte |
anagrame3.cpp: In function 'bool good_enough(int*)': anagrame3.cpp:45:15: warning: array subscript has type 'char' [-Wchar-subscripts] if (fr[c] < frfr[c]) ^ anagrame3.cpp:45:25: warning: array subscript has type 'char' [-Wchar-subscripts] if (fr[c] < frfr[c]) ^ anagrame3.cpp: In function 'std::string calc(int, int)': anagrame3.cpp:61:15: warning: array subscript has type 'char' [-Wchar-subscripts] fr2[a[i]]++; ^ anagrame3.cpp:64:18: warning: array subscript has type 'char' [-Wchar-subscripts] if (fr[a[i]] == frfr[a[i]]) continue; ^ anagrame3.cpp:64:32: warning: array subscript has type 'char' [-Wchar-subscripts] if (fr[a[i]] == frfr[a[i]]) continue; ^ anagrame3.cpp:66:58: warning: array subscript has type 'char' [-Wchar-subscripts] while (!s.empty() && a[i] < s.back() && fr[s.back()] - 1 + fr2[s.back()] >= frfr[s.back()]) { ^ anagrame3.cpp:66:78: warning: array subscript has type 'char' [-Wchar-subscripts] while (!s.empty() && a[i] < s.back() && fr[s.back()] - 1 + fr2[s.back()] >= frfr[s.back()]) { ^ anagrame3.cpp:66:96: warning: array subscript has type 'char' [-Wchar-subscripts] while (!s.empty() && a[i] < s.back() && fr[s.back()] - 1 + fr2[s.back()] >= frfr[s.back()]) { ^ anagrame3.cpp:67:21: warning: array subscript has type 'char' [-Wchar-subscripts] fr[s.back()]--; ^ anagrame3.cpp:71:14: warning: array subscript has type 'char' [-Wchar-subscripts] fr[a[i]]++; ^ anagrame3.cpp:72:15: warning: array subscript has type 'char' [-Wchar-subscripts] fr2[a[i]]--; ^ anagrame3.cpp: In function 'void solve()': anagrame3.cpp:84:16: warning: array subscript has type 'char' [-Wchar-subscripts] frfr[b[i]]++; ^ anagrame3.cpp:87:14: warning: array subscript has type 'char' [-Wchar-subscripts] fr[a[i]]++; ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | OK. | 3 | 3 | ||
1 | 0 secunde | OK. | 3 | 3 | ||
2 | 0 secunde | OK. | 3 | 3 | ||
3 | 0 secunde | OK. | 3 | 3 | ||
4 | 0 secunde | OK. | 3 | 3 | ||
5 | 0 secunde | OK. | 3 | 3 | ||
6 | 0 secunde | OK. | 3 | 3 | ||
7 | 0 secunde | OK. | 3 | 3 | ||
8 | 0 secunde | OK. | 3 | 3 | ||
9 | 0 secunde | OK. | 3 | 3 | ||
10 | 0 secunde | OK. | 2 | 2 | ||
11 | 0 secunde | OK. | 2 | 2 | ||
12 | 0 secunde | OK. | 2 | 2 | ||
13 | 0 secunde | OK. | 2 | 2 | ||
14 | 0 secunde | OK. | 5 | 5 | ||
15 | 0 secunde | Raspuns gresit. | 5 | 0 | ||
16 | 0 secunde | Raspuns gresit. | 5 | 0 | ||
17 | 0 secunde | Raspuns gresit. | 2 | 0 | ||
18 | 0 secunde | OK. | 2 | 2 | ||
19 | 0 secunde | OK. | 3 | 3 | ||
20 | 0 secunde | OK. | 4 | 4 | ||
21 | 0 secunde | OK. | 4 | 4 | ||
22 | 0 secunde | OK. | 4 | 4 | ||
23 | 0 secunde | OK. | 4 | 4 | ||
24 | 0 secunde | OK. | 4 | 4 | ||
25 | 0 secunde | OK. | 4 | 4 | ||
26 | 0 secunde | OK. | 4 | 4 | ||
27 | 0 secunde | OK. | 4 | 4 | ||
28 | 0 secunde | OK. | 4 | 4 | ||
29 | 0 secunde | OK. | 4 | 4 | ||
Punctaj total | 88 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema anagrame3 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ă.