Cerință
Avem: , și un șir de numere naturale. Este o problemă la care trebuie să răspundem la un anumit tip de interogări. Descriem mai departe semnificația uneia: se dă o poziție din șir (). Ne imaginăm că sunt ascunse elementele de pe poziții de la la (nu le cunoaștem valoarea), dar vedem elementele de pe poziții de la la .
Știm că vom dori să aflăm maximul din fiecare secvență de lungime care se termină la poziții mai mari sau egale cu . Dintre elementele pe care le vedem dorim să identificăm un număr minim (cât mai puține) astfel încât să fim siguri că putem afla maximele din secvențele indicate anterior indiferent ce valori ar avea elementele de pe poziții de la la .
Date de intrare
Fișierul maxsecvk.in
conține pe prima linie numerele și separate prin spațiu.
Pe linia a doua sunt numere naturale, separate prin spații, reprezentând elementele șirului dat.
Pe linia a treia este un număr .
Pe linia a patra sunt numere naturale, separate prin spații, reprezentând pozițiile pentru fiecare interogare.
Date de ieșire
Fișierul maxsecvk.out
va conține numere naturale reprezentând răspunsul pentru fiecare interogare, în ordinea în care acestea au apărut în fișierul de intrare.
Restricții și precizări
- ;
- Elementele șirului dat sunt cuprinse între și (inclusiv capetele).
- Elementele ascunse ar putea avea orice valoare, dar tot din intervalul , (inclusiv capetele).
- ;
- Valorile de la interogări pot fi orice poziție din șir mai mare sau egală decât .
- Valorile se pot repeta în fișierul de intrare.
Exemplu
maxsecvk.in
9 4
0 4 2 3 8 1 3 6 2
3
5 4 7
maxsecvk.out
1 2 2
Explicație
La interogarea cu considerăm că șirul este 0 4 2 3 8 x x x x
Doar elementul cu valoarea (cel de pe poziția ) poate conta.
La interogarea cu considerăm că șirul este 0 4 2 3 x x x x x
La secvența terminată la poziția ar putea fi maxim elementul cu valoatea . La secvențele terminate la poziția și la poziții mai mari, ar putea fi maximul elementul cu valoarea .