Cerință
Fie un şir de numere întregi. O subsecvenţă a şirului , , se defineşte ca o secvenţă de elemente consecutive . Costul unei subsecvenţe se defineşte ca fiind valoarea minimă a unui element din aceasta. O partiție a şirului se definește ca o împărţire a lui în subsecvenţe astfel încât fiecare element al şirului aparţine exact unei subsecvente. Daca partiția este formată din subsecvențe, scorul acesteia se definește ca fiind suma costurilor celor subsecvențe.
Se dă un șir de numere întregi, . Se cere să se răspundă, pentru întrebări de forma , , care este maximul dintre scorurile tuturor partițiilor subsecvenței
Important! Deşi valorile elementelor şirului nu sunt generate aleator, ordinea acestora în sir este aleatoare.
Date de intrare
Fișierul de intrare partition.in
are urmatoarea structură:
- linia : , reprezentând lungimea sirului , respectiv numărul de întrebări
- linia : , cele elemente ale șirului .
- linia : reprezentând cele întrebari.
Date de ieșire
Fișierul de ieșire partition.out
va conține linii, pe fiecare dintre acestea se va găsi un singur număr întreg, maximul dintre scorurile tuturor partițiilor subsecvenței .
Restricții și precizări
- ;
- ;
- Pentru teste în valoare de puncte,
- Pentru teste în valoare de alte puncte, ,
- Pentru teste în valoare de alte puncte,
- Testele nu sunt cele din timpul concursului
Exemplu
partition.in
7 3
3 -2 5 -2 -4 1 -2
0 6
2 4
4 6
partition.out
2
1
-4
Explicație
Pentru primul exemplu, avem un șir format din elemente și întrebări.
O partiție optimă a subsecventei este următoarea: , iar scorul acesteia este , dat de suma costurilor subsecvențelor .
O partiție optimă a subsecventei este următoarea: , iar scorul acesteia este , dat de suma costurilor subsecvențelor .
O partiție optimă a subsecventei este următoarea: , iar scorul acesteia este , dat de suma costurilor subsecvențelor .