Cerința
În această dimineață Aky, un băiat sportiv, s-a hotărât să meargă la alergat. Acesta vrea după ce ajunge acasă să își rezolve tema la informatică și pentru asta trebuie să nu fie foarte obosit în urma antrenamentului, deci vrea să își aleagă un traseu cât mai ușor pe care să alerge, iar pentru asta și-a pus la punct un plan foarte exact.
Acesta are în orașul său o distanță N
kilometri legați, numerotați de la 1
la N
, iar fiecărui kilometru i
din cele N
(1 ≤ i ≤ N
) îi cunoaște gradul de dificultate a[i]
. Băiatul a întocmit o listă cu M
intervale diferite de kilometri de forma [l, r]
, fiecare interval având un anumit grad de oboseală asociat acestuia. Gradul de oboseală G
asociat unui interval [l, r]
de lungime L = r - l + 1
se calculează astfel: G = a[l] * L + a[l + 1] * (L - 1) + ... + a[r - 1] * 2 + a[r] * 1
și reprezintă cu cât va crește valoarea de oboseală a lui Aky dupa ce va alerga kilometrii intervalului respectiv. Acum Aky vă cere vouă să-l ajutați să-și ducă planul la sfârșit, aflând care este valoarea minimă de oboseală pe care o poate avea la finalul antrenamentului său, știind că trebuie sa alerge kilometrii a exact K
din intervalele din lista sa.
Date de intrare
Fişierul de intrare run.in
are pe prima linie numerele N M K
, reprezentând numărul de kilometri din orașul lui Aky, numărul de intervale din lista sa, respectiv câte dintre intervale trebuie să aleagă pentru alergat, pe a 2
-a linie N
numere naturale a[1], a[2], ..., a[N]
, reprezentând gradele de dificultate ale celor N
kilometri, iar pe următoarele M
linii câte 2
numere l r
reprezentând intervalele din lista lui Aky.
Date de ieșire
Fişierul de ieşire run.out
va conţine pe prima linie numărul natural V
, reprezentând valoarea minimă de oboseală pe care o poate avea băiatul la finalul antrenamentului său.
Restricții și precizări
1 ≤ N, M ≤ 100.000
1 ≤ K ≤ M
1 ≤ a[i] ≤ 10.000
1 ≤ l ≤ r ≤ n
- pentru teste în valoare de
50
de puncteN ≤ 5.000
șiM ≤ 5.000
Exemplu:
run.in
5 5 3 2 3 1 5 6 1 3 1 4 3 4 2 5 4 5
run.out
36
Explicație
Vom lua fiecare interval și vom calcula gradul său de oboseală:
[1, 3]
:G = 2 * 3 + 3 * 2 + 1 * 1 = 13
[1, 4]
:G = 2 * 4 + 3 * 3 + 1 * 2 + 5 * 1 = 24
[3, 4]
:G = 1 * 2 + 5 * 1 = 7
[2, 5]
:G = 3 * 4 + 1 * 3 + 5 * 2 + 6 * 1 = 31
[4, 5]
:G = 5 * 2 + 6 * 1 = 16
Obținem în final gradele de oboseală 13 24 7 31 16
din care Aky trebuie să aleagă 3
astfel încât valoarea sa de oboseală să fie minimă. Acesta elege primul, al treilea, respectiv ultimul interval obținând valoarea de oboseală minimă 13 + 7 + 16 = 36
.