#4136
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 | #57181604 | Utilizator | |
Fișier | subsir.cpp | Dimensiune | 1.04 KB |
Data încărcării | 19 Martie 2025, 12:36 | Scor / rezultat | Eroare de compilare |
subsir.cpp: In function 'int main()': subsir.cpp:39:41: error: expected ';' before numeric constant for (int i=0; i<=10000000; ++i) { 123 1234 ^ subsir.cpp:40:50: warning: statement has no effect [-Wunused-value] q[i] = i/10 ? p[i%10][q[i/10]+1] : p[i%10][0]; ^
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ă.