După ce a făcut profit lucrând la fabrica de lângă Arad, Dorel şi-a schimbat din nou locul de muncă şi acum s-a angajat la o companie ce produce batoane energizante.
Până în acest moment compania a produs N batoane care, aflându-se pe banda de producţie, sunt dispuse în linie. Pentru fiecare baton se ştie numărul de calorii pe care o persoană le câştigă dacă mănâncă acel baton (din pacate, compania nu este specializată în producerea de batoane energizante şi de accea pot exista şi batoane pentru care numărul de calorii câştigate este negativ).
Dorel doreşte să se înfrupte cu o parte din batoane, dar pentru a nu stârni suspiciuni, a hotărât că va alege trei subsecvenţe disjuncte din secventa de N batoane pe care le va mânca. Notăm aceste subsecvenţe cu , .
Desigur, menirea batoanelor energizante este de a avea cât mai multe calorii, aşadar Dorel doreşte ca suma caloriilor produse de batoanele din cele trei subsecvenţe să fie cât mai mare. Totusi, Dorel are nişte constrângeri privind subsecvenţa din mijloc. Aceasta trebuie să fie inclusă într-un anumit interval (aşadar, ).
Cerință
Fiind date intervale de forma trebuie să afişaţi numărul maxim de calorii pe care le poate obţine Dorel, dacă alege trei subsecvenţe conform regulilor de mai sus.
Date de intrare
Pe prima linie a fişierului 3max.in
se va afla , numărul de batoane şi , numărul de întrebări. Următoarea linie conţine numere întregi, al -lea din aceste numere reprezentând numărul de calorii al batonului . Următoarele linii conţin fiecare două numere întregi , , reprezentând o constrângere pentru subsecvenţa din mijloc.
Date de ieșire
Cele linii ale fişierului 3max.out
vor conţine numere naturale, răspunsurile la cele întrebări.
Restricții și precizări
- Numărul de calorii pe care îl conţine un baton este cuprins în intervalul .
- Atenţie! Daca o subsecvenţa aleasa are suma negativă, Dorel considera ca are suma .
- Atenţie! Dorel este obligat sa aleaga 3 subsecvente, iar daca nu va putea alege, se va afisa valoarea .
- O subsecvenţă a unui şir se defineşte ca fiind o submulţime de elemente ale şirului aflate pe poziţii consecutive.
- Celelalte două subsecvenţe se pot intersecta cu intervalul atata timp cât respectă toate proprietăţile.
Exemplul 1
3max.in
7 2
2 -5 6 3 2 -4 3
2 3
3 6
3max.out
13
16
Explicație
Se aleg subsecvenţele , respectiv .
Exemplul 2
3max.in
4 1
-10 2 3 -10
1 4
3max.out
5
Explicație
Se aleg subsecvenţele . Cum subsecventele si au suma negativa,
Dorel le considera ca avand suma 0, deci rezultatul este .
Exemplul 3
3max.in
3 1
-1 -2 -3
2 2
3max.out
0
Explicație
Se aleg subsecvenţele .