Fişierul intrare/ieşire: | bitone.in, bitone.out | Sursă | Cerc informatică Vianu |
Autor | Cristian Francu | Adăugată de | |
Timp execuţie pe test | 1.6 sec | Limită de memorie | 8500 kbytes |
Scorul tău | N/A | Dificultate |
Vezi solutiile trimise | Statistici
Bitone
O secvenţă de numere întregi se numeşte bitonă dacă este crescătoare la început, iar apoi descrescătoare. Mai precis, o secvenţă a1, a2, ..., an este bitonă dacă:
- este o secvenţă nedescrescătoare: a1 ≤ a2 ≤ ... ≤ an sau
- este o secvenţă necrescătoare: a1 ≥ a2 ≥ ... ≥ an sau
- exista un indice i pentru care a1 ≤ a2 ≤ ... ≤ ai ≥ ai+1 ≥ ... ≥ an
Cerinţă
Dată o secvenţă de numere întregi a1, a2, ..., an şi nişte întrebări de forma (i, j) să se răspundă pentru fiecare întrebare dacă subsecvenţa ai, ai+1, ..., aj este bitonă.
Date de intrare
Fişierul de intrare bitone.in conţine pe prima linie numărul de numere din secvenţă, n. Pe a doua linie conţine cele n numere ale secvenţei, separate de spaţii. Pe a treia linie se află numărul de întrebări q. Pe următoarele q linii se vor găsi cîte două numere i j separate prin spaţiu, reprezentînd întrebările la care se cere răspuns.
Date de ieşire
Fişierul de ieşire bitone.out va conţine o singură linie cu q caractere 0 sau 1, fără spaţii între ele, caractere ce reprezintă răspunsurile la întrebări. Pentru fiecare întrebare veţi răspunde 1 dacă subsecvenţa este bitonă, sau 0 în caz contrar.
Restricţii
- 1 ≤ n ≤ 1.000.000
- -2.000.000.000 ≤ ai ≤ 2.000.000.000
- 1 ≤ q ≤ 1.000.000
- 1 ≤ i ≤ j ≤ n
Exemple
bitone.in | bitone.out | Explicaţie |
---|---|---|
10 10 19 19 18 18 21 21 11 11 13 6 9 10 6 10 4 8 8 10 1 7 3 3 | 101101 | subsecvenţele (6, 10) şi (1, 7) nu sînt bitone. Toate celelalte sînt. |
15 10 11 13 13 6 8 8 8 4 4 5 9 0 2 2 10 2 10 9 13 1 3 7 14 4 7 1 9 3 10 4 11 13 13 9 9 | 0110000011 | subsecvenţele (9, 13) (1, 3) (13, 13) şi (9, 9) sînt bitone. Toate celelalte nu. |