#4815
Se consideră șirul de litere mici ale alfabetului englez A[1], ..., A[N].
Fie succesiunea de caractere alăturate din șir A[x], A[x + 1], ..., A[y], unde 1 ≤ x ≤ y ≤ N, pe care o notăm cu A[x, y]. Pentru oricare literă mică a alfabetului englez l, definim range(l) ca fiind 0, dacă l apare cel mult o dată în A[x, y]. Altfel, valoarea range(l) este egală cu diferența dintre cea mai mare și cea mai mică poziție pe care litera l apare în A[x, y].
Șirul suport asociat lui A[x, y] este șirul de caractere minim lexicografic ce conține fiecare literă l de range(l) ori. Asupra șirului se efectuează două tipuri de operații:
c și poziția poz, se înlocuiește A[poz] cu c.x, y, se generează șirul suport al lui A[x, y].C = 1: determinați șirul suport minim lexicografic dintre cele obținute în urma tuturor operațiilor de generare.C = 2: pentru fiecare operație de generare dată, determinați numărul de anagrame distincte ale șirului suport obținut, modulo 1999999973.| Problema | anagrame6 | Operații I/O |
anagrame.in/anagrame.out
|
|---|---|---|---|
| Limita timp | 1 secunde | Limita memorie |
Total: 256 MB
/
Stivă 64 MB
|
| Id soluție | #63201944 | Utilizator | |
| Fișier | anagrame6.cpp | Dimensiune | 4.79 KB |
| Data încărcării | 20 Februarie 2026, 14:42 | Scor/rezultat | 28 puncte |
anagrame6.cpp: In function 'int main()': anagrame6.cpp:47:73: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int idx = 0; idx < pozitii[litera_veche - 'a'].size(); idx++) { ^ anagrame6.cpp:60:72: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int idx = 0; idx < pozitii[litera_noua - 'a'].size(); idx++) { ^ anagrame6.cpp:89:60: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int idx = 0; idx < pozitii[t].size(); idx++) { ^ anagrame6.cpp:10:17: warning: unused variable 'nr' [-Wunused-variable] int c,n,m,i,nr,j,dif,ultimul, nr_litere = 0, prima = 0; ^ anagrame6.cpp:10:20: warning: unused variable 'j' [-Wunused-variable] int c,n,m,i,nr,j,dif,ultimul, nr_litere = 0, prima = 0; ^ anagrame6.cpp:10:22: warning: unused variable 'dif' [-Wunused-variable] int c,n,m,i,nr,j,dif,ultimul, nr_litere = 0, prima = 0; ^ anagrame6.cpp:10:26: warning: unused variable 'ultimul' [-Wunused-variable] int c,n,m,i,nr,j,dif,ultimul, nr_litere = 0, prima = 0; ^ anagrame6.cpp:10:35: warning: unused variable 'nr_litere' [-Wunused-variable] int c,n,m,i,nr,j,dif,ultimul, nr_litere = 0, prima = 0; ^ anagrame6.cpp:10:50: warning: unused variable 'prima' [-Wunused-variable] int c,n,m,i,nr,j,dif,ultimul, nr_litere = 0, prima = 0; ^ anagrame6.cpp:13:9: warning: unused variable 'k' [-Wunused-variable] int k, t, k1, k2, k3, k4; ^
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | Depășit | Limita de timp depășită | 4 | 0 | ||
| 2 | Depășit | Limita de timp depășită | 4 | 0 | ||
| 3 | 0 secunde | OK. | 4 | 4 | ||
| 4 | 0 secunde | OK. | 4 | 4 | ||
| 5 | 0 secunde | OK. | 4 | 4 | ||
| 6 | 0 secunde | OK. | 4 | 4 | ||
| 7 | 0 secunde | Caught fatal signal 11 | 4 | 0 | ||
| 8 | 0.144 secunde | OK. | 4 | 4 | ||
| 9 | 0 secunde | OK. | 4 | 4 | ||
| 10 | Depășit | Limita de timp depășită | 4 | 0 | ||
| 11 | Depășit | Limita de timp depășită | 4 | 0 | ||
| 12 | 0.6 secunde | OK. | 4 | 4 | ||
| 13 | 0 secunde | Caught fatal signal 11 | 4 | 0 | ||
| 14 | 0 secunde | Caught fatal signal 11 | 4 | 0 | ||
| 15 | 0 secunde | Caught fatal signal 11 | 4 | 0 | ||
| 16 | 0 secunde | Raspuns gresit. | 4 | 0 | ||
| 17 | 0 secunde | Raspuns gresit. | 4 | 0 | ||
| 18 | 0 secunde | Raspuns gresit. | 4 | 0 | ||
| 19 | 0 secunde | Raspuns gresit. | 4 | 0 | ||
| 20 | 0 secunde | Raspuns gresit. | 4 | 0 | ||
| 21 | 0 secunde | Raspuns gresit. | 4 | 0 | ||
| 22 | 0 secunde | Raspuns gresit. | 4 | 0 | ||
| 23 | 0 secunde | Raspuns gresit. | 4 | 0 | ||
| 24 | 0 secunde | Raspuns gresit. | 4 | 0 | ||
| 25 | 0 secunde | Raspuns gresit. | 4 | 0 | ||
| Punctaj total | 28 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema anagrame6 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ă.