#4136
subsir
Fie S = (S
1
, S
2
, ..., S
N
)
un şir format din N
numere naturale mai mici decât 10
şi x
un număr natural cu p
cifre, reprezentat în baza 10
prin x = x
1
x
2
...x
p
. Observaţi că poziţiile din şirul S
sunt numerotate de la stânga la dreapta de la 1
la N
, iar cifrele numărului x
sunt numerotate de la stânga la dreapta de la 1
la p
(cifra p
fiind cifra unităţilor). Scrieţi un program care, cunoscând şirul S
, rezolvă următoarele două cerinţe:
Nr
perechi de forma x
j
, determină pentru fiecare pereche dacă numărul x
apare ca subșir în prefixul de lungime j
al lui S
şi afişează valoarea 1
în caz afirmativ, respectiv valoarea 0
în caz contrar;Nr
perechi de forma a
b
, determină şi afişează pentru fiecare pereche numărul de numere naturale din intervalul închis [a, b]
care apar ca subșir în șirul S
.ONI 2022, clasa a VIII-a
Problema | subsir | Operații I/O |
subsir.in /subsir.out
|
---|---|---|---|
Limita timp | 0.4 secunde | Limita memorie |
Total: 128 MB
/
Stivă 64 MB
|
Id soluție | #52623825 | Utilizator | |
Fișier | subsir.cpp | Dimensiune | 2.37 KB |
Data încărcării | 04 Octombrie 2024, 20:52 | Scor / rezultat | 40 puncte |
subsir.cpp: In function 'int main()': subsir.cpp:10:37: warning: unused variable 'ii' [-Wunused-variable] int c,n,i,cif,m,a,b,ca,p,j,cifa,ii,nr; ^ subsir.cpp:14:29: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(fin,"%d%d",&c,&n); ^ subsir.cpp:17:30: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(fin,"%d",&cif); ^ subsir.cpp:20:24: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(fin,"%d",&m); ^ subsir.cpp:23:33: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(fin,"%d%d",&a,&b); ^ subsir.cpp:91:41: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(fin,"%d%d",&a,&b); ^
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.224 secunde | OK. | 3 | 3 | ||
6 | 0.256 secunde | OK. | 3 | 3 | ||
7 | 0.288 secunde | OK. | 3 | 3 | ||
8 | 0.32 secunde | OK. | 3 | 3 | ||
9 | 0.32 secunde | OK. | 3 | 3 | ||
10 | 0.272 secunde | Caught fatal signal 11 | 4 | 0 | ||
11 | 0.288 secunde | Caught fatal signal 11 | 4 | 0 | ||
12 | 0.236 secunde | Caught fatal signal 11 | 4 | 0 | ||
13 | 0.268 secunde | Caught fatal signal 11 | 4 | 0 | ||
14 | 0.316 secunde | Caught fatal signal 11 | 4 | 0 | ||
15 | 0.252 secunde | Caught fatal signal 11 | 5 | 0 | ||
16 | 0.284 secunde | Caught fatal signal 11 | 5 | 0 | ||
17 | 0.284 secunde | Caught fatal signal 11 | 5 | 0 | ||
18 | 0.268 secunde | Caught fatal signal 11 | 5 | 0 | ||
19 | 0.252 secunde | Caught fatal signal 11 | 5 | 0 | ||
20 | 0.284 secunde | OK. | 5 | 5 | ||
21 | Depășit | Limita de timp depășită | 5 | 0 | ||
22 | 0.264 secunde | OK. | 5 | 5 | ||
23 | 0.268 secunde | Caught fatal signal 11 | 5 | 0 | ||
24 | Depășit | Limita de timp depășită | 5 | 0 | ||
Punctaj total | 40 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema subsir 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ă.