XYQueries9

Time limit: 0.3s Memory limit: 128MB Input: Output:

Cerință

Se dă un șir AA cu NN elemente. Definim min(i,j)\min(i,j) ca fiind valoarea minimă din subsecvența [i,j][i,j] a șirului AA. Analog, definim max(i,j)\max(i,j) ca fiind valoarea maximă din subsecvența [i,j][i,j] a șirului AA. Se dau și QQ întrebări de forma (Xi,Yi)(X_i,Y_i) cu semnificația "câte subsecvențe [l,r][l,r] au min(l,r)=Xi\min(l,r)=X_i și max(l,r)=Yi\max(l,r)=Y_i?".

Date de intrare

Pe prima linie se află numerele NN și QQ. Următoarea linie conține elementele A1,A2,,ANA_1,A_2, \dots, A_N.
Pe fiecare din următoarele QQ linii se află două numere XiX_i și YiY_i.

Date de ieșire

Se vor afișa QQ linii, unde a ii-a linie conține răspunsul la cea de a ii-a întrebare.

Restricții și precizări

  • 1N1051 \leq N \leq 10^5
  • 1Q1001 \leq Q \leq 100
  • 1AiN, i{1,2,,N}1 \leq A_{i} \leq N, \forall\ i \in \{1, 2, \dots, N\}
# Punctaj Restricții
1 41 1N,Q1001 \leq N,Q \leq 100
2 59 Fără restricții suplimentare.

Exemplul 1

stdin

7 5
3 5 3 4 2 1 5
2 5
3 5
1 2
2 4
2 4

stdout

2
5
1
2
2

Exemplul 2

stdin

15 10
7 9 2 13 12 13 11 13 13 13 10 5 13 7 2
5 13
7 13
11 13
5 10
7 13
2 9
7 9
2 9
11 13
11 13

stdout

25
1
15
1
1
2
1
2
15
15

Log in or sign up to be able to send submissions!