Cerință
Iustin și Radu se joacă din nou Clash Royale și în timp ce se jucau, au început să discute despre spellurile pe care le pot folosi. Având suficientă aură după ce au câștigat trofee în loc să se pregătească pentru OJI, le-a venit următoarea idee de problemă:
Se dă un vector cu numere naturale și actualizări, care pot fi de două tipuri, după cum urmează:
- : valoarea de pe poziția devine egală cu .
- : toate valorile din șir devin egale cu .
După fiecare operație, trebuie să afișați suma elementelor din șir.
Acum cei doi au văzut că se organizează preOJI așa că s-au decis să propună această problemă aici. Ajută-i să rezolve problema!.
Date de intrare
Pe prima linie a fișierului de intrare aura.in
se găsesc două numere întregi, și .
Pe următoarea linie se găsește șirul de numere de lungime , care conține valori naturale.
Următoarele linii conțin câte două sau trei numere naturale, în funcție de tipul actualizării.
Date de ieșire
Fișierul de ieșire aura.out
va avea linii, fiecare conținând suma numerelor după primele operații.
Restricții și precizări
- ;
- , unde este o valoare din șir sau o valoare actualizată.
- Pentru teste în valoare de de puncte, ;
- Pentru alte teste în valoare de de puncte, vor exista cel mult operații de tip ;
- Pentru alte teste în valoare de de puncte, ;
Exemplu
aura.in
6 7
5 4 1 2 3 4
1 2 5
1 5 8
2 5
1 4 3
2 6
1 5 9
1 3 2
aura.out
20
25
30
28
36
39
35
Explicație
După prima operație, șirul va fi .
După cea de-a doua operație, șirul va fi .
După cea de-a treia operație, șirul va fi .
După cea de-a patra operație, șirul va fi .
După cea de-a cincea operație, șirul va fi .
După cea de-a șasea operație, șirul va fi .
După cea de-a șaptea operație, șirul va fi .