Se dă un șir de numere naturale distincte. O secvență este formată din toate pozițiile consecutive dintre și din șir. Se definește costul unei poziții ca fiind valoarea din șir de pe poziția înmulțită cu lungimea maximă a unei secvențe care conține poziția și a cărei valoare maximă se află tot pe poziția .
Cerință
Se dau întrebări de forma: – să se calculeze suma tuturor costurilor pozițiilor din secvența .
Atenție! Când se calculează costul unei poziții din , secvența de lungime maximă pe care valoarea este maximă se calculează în funcție de tot șirul, NU în funcție de secvența (pentru clarificare urmăriți exemplul).
Date de intrare
Fișierul de intrare secvcost.in
conține pe prima linie cele două numere și , separate prin spațiu. Pe a doua linie se află numere naturale distincte reprezentând elementele șirului . Pe următoarele linii se află perechi de valori 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 linii cu câte un număr pe fiecare linie reprezentând răspunsul la cele întrebări, în ordine.
Restricții și precizări
- Toate valorile din șir sunt mai mici sau egale decât
# | Punctaj | Restricții |
---|---|---|
1 | 25 | |
2 | 25 | |
3 | 50 |
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 care este maxim pe secvența . Costul este . Pentru a doua întrebare avem care este maxim pe secvența . Costul este .
Exemplul 2
secvcost.in
5 3
2 3 1 5 4
1 3
5 5
4 4
secvcost.out
12
4
25
Explicație
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