#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 | #52624127 | Utilizator | |
Fișier | subsir.cpp | Dimensiune | 2.65 KB |
Data încărcării | 04 Octombrie 2024, 21:07 | Scor / rezultat | 90 puncte |
subsir.cpp: In function 'int main()': subsir.cpp:12:37: warning: unused variable 'ii' [-Wunused-variable] int c,n,i,cif,m,a,b,ca,p,j,cifa,ii,nr; ^ subsir.cpp:16: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:19: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:23: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:26: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:101: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.312 secunde | OK. | 4 | 4 | ||
11 | 0.324 secunde | OK. | 4 | 4 | ||
12 | 0.276 secunde | OK. | 4 | 4 | ||
13 | 0.308 secunde | OK. | 4 | 4 | ||
14 | 0.356 secunde | OK. | 4 | 4 | ||
15 | 0.296 secunde | OK. | 5 | 5 | ||
16 | 0.328 secunde | OK. | 5 | 5 | ||
17 | 0.328 secunde | OK. | 5 | 5 | ||
18 | 0.308 secunde | OK. | 5 | 5 | ||
19 | 0.296 secunde | OK. | 5 | 5 | ||
20 | 0.32 secunde | OK. | 5 | 5 | ||
21 | Depășit | Limita de timp depășită | 5 | 0 | ||
22 | 0.304 secunde | OK. | 5 | 5 | ||
23 | 0.308 secunde | OK. | 5 | 5 | ||
24 | Depășit | Limita de timp depășită | 5 | 0 | ||
Punctaj total | 90 |
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ă.