#1737
KSiruri
Se consideră un număr natural K
și o secvență de N
șiruri s[1]
, s[2]
, …, s[N]
. Fiecare șir este format din cifre distincte. Pentru două șiruri s[i]
și s[j]
se definește operația de scădere (–
) astfel: s[i]-s[j]
va conține doar șirul de cifre care apar în s[i]
, dar nu apar în s[j]
. De exemplu, dacă s[i]=(1,3,8)
și s[j]=(2,9,3)
, atunci s[i]-s[j]=(1,8)
. Această operație nu este asociativă, (s[i]-s[j])-s[p]
este diferită de s[i]-(s[j]-s[p])
. De aceea, dacă se alege un subșir s[i1]
, s[i2]
, …, s[ip]
din secvență, atunci convenim ca s[i1]-s[i2]-...-s[ip]
să se execute de la dreapta la stânga.
Exemplu: (1,2,3)-(2,3)-(1,3)=(1,2,3)-(2)=(1,3)
. S-au obținut două cifre distincte.
Să se determine numărul subșirurilor nevide s[i1]
, s[i2]
, …, s[ip]
din secvența s[1]
, s[2]
, …, s[N]
asupra cărora, dacă se efectuează operația de scădere (adică s[i1]-s[i2]-...-s[ip]
), se obțin cel puțin K
cifre distincte. Pentru că numărul subșirurilor poate fi foarte mare, atunci el se va calcula modulo 123457
.
Lot Juniori Magurele, 2016
Problema | KSiruri | Operații I/O |
ksiruri.in /ksiruri.out
|
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 16 MB
/
Stivă 8 MB
|
Id soluție | #43091968 | Utilizator | |
Fișier | ksiruri.cpp | Dimensiune | 1.06 KB |
Data încărcării | 30 Martie 2023, 18:10 | Scor / rezultat | 95 puncte |
ksiruri.cpp: In function 'void prec()': ksiruri.cpp:26:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int j = 0; j < strlen(aux); j++) ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | OK. | 5 | 5 | ||
1 | 0 secunde | OK. | 5 | 5 | ||
2 | 0 secunde | OK. | 5 | 5 | ||
3 | 0 secunde | OK. | 5 | 5 | ||
4 | 0 secunde | OK. | 5 | 5 | ||
5 | 0 secunde | OK. | 5 | 5 | ||
6 | 0.004 secunde | OK. | 5 | 5 | ||
7 | 0.008 secunde | OK. | 5 | 5 | ||
8 | 0.02 secunde | OK. | 5 | 5 | ||
9 | 0.04 secunde | OK. | 5 | 5 | ||
10 | 0.1 secunde | OK. | 5 | 5 | ||
11 | 0.152 secunde | OK. | 5 | 5 | ||
12 | 0.204 secunde | OK. | 5 | 5 | ||
13 | 0.236 secunde | OK. | 5 | 5 | ||
14 | 0.256 secunde | OK. | 5 | 5 | ||
15 | 0.332 secunde | OK. | 5 | 5 | ||
16 | 0.368 secunde | OK. | 5 | 5 | ||
17 | 0.428 secunde | OK. | 5 | 5 | ||
18 | 0.46 secunde | OK. | 5 | 5 | ||
19 | Depășit | Limita de timp depășită | 5 | 0 | ||
Punctaj total | 95 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema KSiruri 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ă.