Fie ) un şir format din numere naturale mai mici decât şi un număr natural cu cifre, reprezentat în baza prin = . Observaţi că poziţiile din şirul sunt numerotate de la stânga la dreapta de la la , iar cifrele numărului sunt numerotate de la stânga la dreapta de la la (cifra fiind cifra unităţilor).
Vom spune că apare ca subșir în șirul dacă există pozițiile astfel încât să avem pentru orice . De exemplu, pentru , apare ca subșir în , dar nu apare ca subșir în .
Numim prefix de lungime al lui , secvența (secvenţa care începe la poziţia şi se termină la poziţia ).
Cerință
Scrieţi un program care, cunoscând şirul , rezolvă următoarele două cerinţe:
- fiind date perechi de forma , determină pentru fiecare pereche dacă numărul apare ca subșir în prefixul de lungime al lui şi afişează valoarea în caz afirmativ, respectiv valoarea în caz contrar;
- fiind date perechi de forma , determină şi afişează pentru fiecare pereche numărul de numere naturale din intervalul închis [] care apar ca subșir în șirul S.
Date de intrare
Fișierul de intrare subsir.in
conține pe prima linie un număr natural care reprezintă cerinţa care urmează a fi rezolvată ( sau ). Pe a doua linie se află numărul natural . Pe a treia linie se află numere naturale mai mici decât , , reprezentând elementele şirului . Pe linia a patra se află un număr natural care reprezintă numărul de perechi. Pe următoarele linii se află câte o pereche de numere naturale. Numerele scrise pe aceeaşi linie în fişierul de intrare sunt separate prin câte un spaţiu.
Date de ieșire
Fișierul de ieșire subsir.out
va conține linii, pe cea de a -a linie fiind scris rezultatul pentru cea de a -a pereche dintre cele perechi din fişierul de intrare, conform cerinţei .
Restricții și precizări
- ;
- ;
- ;
- ;
- ;
- Pentru teste valorând de puncte cerinţa este .
- Pentru teste valorând de puncte cerinţa este .
Exemplul 1
subsir.in
1
10
5 6 1 0 3 2 5 2 3 1
5
1 4
1 2
153 6
153 9
72 8
subsir.out
1
0
0
1
0
Explicație
Cerinţa este , deci trebuie să verificăm pentru fiecare dintre cele perechi specificate dacă apare ca subşir în prefixul de lungime al lui .
Prima pereche este . Numărul apare ca subşir în prefixul , deci se afişează .
A doua pereche este . Numărul nu apare ca subşir în prefixul , deci se afişează .
A treia pereche este . Numărul nu apare în prefixul , deci se va afişa .
A patra pereche este . De data aceasta numărul apare ca subşir în prefixul , deci se afişează .
A cincea pereche este . Numărul nu apare ca subşir în niciun prefix al lui , deci nici în cel de lungime și se va afişa .
Exemplul 2
subsir.in
2
10
5 6 1 0 3 2 5 2 3 1
3
0 20
40 105
81 99
subsir.out
11
15
0
Explicație
Cerinţa este , deci trebuie să determinăm pentru fiecare dintre cele perechi specificate câte numere naturale din intervalul apar ca subşir în .
Pentru intervalul există numere, acestea fiind .
Pentru intervalul există numere, acestea fiind .
Pentru intervalul răspunsul este , deoarece nu există niciun număr în acest interval care să fie subşir al lui .