Cerința
Urmează o perioadă aglomerată și trebuie să ajutați un magazin să își gestioneze stocul. Magazinul are N
obiecte indexate de la 1
la N
, iar fiecare obiect are un stoc. Trebuie să procesați T
operații de tipul:
1) x
y
p
: stocul obiectelor cu ale caror indice se afla intre [x, y]
creste cu p
2) x
y
p
: stocul obiectelor cu ale caror indice se afla intre [x, y]
scade cu p
In urma unei operatii de tip 2 se poate ca stocul sa fie negativ, caz in care proprietarii raman cu datorie
Date de intrare
Programul citește din fisierul easyquery.in
numărul n
, pe urmatoarea linie n
numere naturale reprezentand stocul magazinului, T
, si apoi T
intrebari definite ca mai sus.
Date de ieșire
Programul va afisa in fisierul easyquery.out
stocul pentru fiecare obiect dupa cele T
operatii.
Restricții și precizări
- \(1 ≤ N ≤ 10^5\)
- \(1 ≤ T ≤ 10^5\)
- \(0 ≤ v_i ≤ 10^9\)
- \(0 ≤ p ≤ 10^9\)
Exemplu:
easyquery.in
5 1 2 6 3 1 3 1 5 5 2 2 4 5 1 1 1 5 3
easyquery.out
4 5 9 5 5
Explicație
In urma primei operatii stocul va fi (1 2 6 3 3)
In urma celei de a doua operatie stocul va fi (1 2 6 2 2)
In urma celei de a treia operatie stocul va fi (4 5 9 5 5)