Se dă un şir de N numere întregi. Definim costul intervalului [x, y], unde x si y apartin {1, 2, …, N}, ca fiind suma diferenţelor dintre numărul maxim din șir, aflat în interval şi restul numerelor aflate pe pozițiile x, x+1, …, y.
De exemplu, pentru şirul 2 4 7 4 3 -1 2 4 6 costul intervalului [3, 6] este 15. (explicație: 7-7+ 7-4 + 7-3 + 7+1 = 15).
Se definesc M operaţii de forma tip x y, astfel: Dacă tip este 1, atunci elementul de pe poziţia x din șir devine y. Dacă tip este 2, atunci să se afişeze costul intervalului [x, y];
Cerința
Să se determine răspunsul pentru fiecare operaţie de tipul 2.
Date de intrare
Fişierul de intrare intervalxy.in conţine:
- Pe prima linie un număr natural
N; - Pe cea de-a doua linie se află
Nnumere, reprezentând elementele şirului; - Pe a treia linie se află un număr natural
M. - Pe următoarele
Mlinii se află câte un triplet tipx ycu proprietatea din enunţ.
Date de ieșire
Fişierul de iesire intervalxy.out conţine K linii, reprezentând răspunsul pentru fiecare operaţie de tipul 2, K fiind numărul de operaţii de tip 2 din fişierul de intrare.
Restricții și precizări
2 <= N <= 100.0001 <= M <= 100.000-100.000 <= elementele şirului <= 100.000- Pentru
25%din punctaj,1 <= N <= 5.000şi1 <= M <= 10.000
Exemplu:
intervalxy.in
10 2 -4 3 7 1 -2 -1 3 5 8 6 2 1 4 1 2 0 1 4 6 1 7 3 2 4 6 2 3 8
intervalxy.out
20 13 22
Explicație
Pentru prima întrebare intervalul căutat este : 2 -4 3 7, cu costul
(7-2)+(7+4)+(7-3)+(7-7) = 20
Pentru a doua întrebare, intervalul căutat este: 6 1 -2, cu costul
(6-6)+(6-1)+(6+2) = 13
Pentru a treia întrebare, intervalul căutat este: 3 6 1 -2 3 3, cu costul
(6-3)+(6-6)+(6-1)+(6+2)+(6-3)+(6-3) = 22

