SecvCost

Time limit: 0.15s Memory limit: 64MB Input: secvcost.in Output: secvcost.out

Se dă un șir VV de NN numere naturale distincte. O secvență [X,Y][X, Y] este formată din toate pozițiile consecutive dintre XX și YY din șir. Se definește costul unei poziții PP ca fiind valoarea din șir de pe poziția PP înmulțită cu lungimea maximă a unei secvențe care conține poziția PP și a cărei valoare maximă se află tot pe poziția PP.

Cerință

Se dau MM întrebări de forma: X,YX, Y – să se calculeze suma tuturor costurilor pozițiilor din secvența [X,Y][X, Y].
Atenție! Când se calculează costul unei poziții PP din [X,Y][X, Y], secvența de lungime maximă pe care valoarea VPV_P este maximă se calculează în funcție de tot șirul, NU în funcție de secvența [X,Y][X, Y] (pentru clarificare urmăriți exemplul).

Date de intrare

Fișierul de intrare secvcost.in conține pe prima linie cele două numere NN și MM, separate prin spațiu. Pe a doua linie se află NN numere naturale distincte reprezentând elementele șirului VV. Pe următoarele MM linii se află perechi de valori X,YX, Y reprezentând întrebările la care trebuie să se răspundă.

Date de ieșire

Fișierul de ieșire secvcost.out va conține MM linii cu câte un număr pe fiecare linie reprezentând răspunsul la cele MM întrebări, în ordine.

Restricții și precizări

  • Toate valorile din șir sunt mai mici sau egale decât 5 000 0005 \ 000 \ 000
# Punctaj Restricții
1 25 1N,M5001 \leq N, M \leq 500
2 25 1N,M10 0001 \leq N, M \leq 10 \ 000
3 50 1N,M200 0001 \leq N, M \leq 200 \ 000

Exemplul 1

secvcost.in

5 2
2 3 1 5 4
3 3
2 2

secvcost.out

1
9

Explicație

Pentru prima întrebare avem V3=1V_3 = 1 care este maxim pe secvența [3,3][3, 3]. Costul este 11=11 \cdot 1 = 1. Pentru a doua întrebare avem V2=3V_2 = 3 care este maxim pe secvența [1,3][1, 3]. Costul este 33=93 \cdot 3 = 9.

Exemplul 2

secvcost.in

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

secvcost.out

12
4
25

Explicație

21+33+11=122 \cdot 1 + 3 \cdot 3 + 1 \cdot 1 = 12
41=44 \cdot 1 = 4
55=255 \cdot 5 = 25

Exemplul 3

secvcost.in

10 10
10 30 29 39 34 32 3 6 7 9
6 7
1 7
6 10
1 5
7 9
4 7
3 7
5 6
3 7
6 10

secvcost.out

163
886
232
723
36
757
786
364
786
232

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