Laiko ribojimas: 3s
Atminties ribojimas: 256MB
Duomenų failas: daugiau_uzklausu.in
Rezultatų failas: daugiau_uzklausu.out
Sudėtingos užklausos
Jūs turite masyvą, sudarytą iš sveikųjų skaičių
,
,
, ...,
. Jūsų uždavinys - įvykdyti
užklausų turimai skaičių sekai.
Užklausos gali būti trijų tipų:
- Nustatymo užklausa: sekos elementams
nustatyti reikšmę
.
- Pridėjimo užklausa: prie sekos elementų
pridėti skaičių
.
- Sumos užklausa: apskaičiuoti elementų
kvadratų sumą.
Pradiniai duomenys
Pirmoje eilutėje pateiktas testų skaičius (
). Sekančiose eilutėse pateikiami testų duomenys.
Testo duomenys:
Pirmoje eilutėje pateikti du skaičiai ir
(
), atitinkamai nurodantys masyvo elementų skaičių bei užklausų kiekį.
Antroje eilutėje pateikta skaičių
: pradinės elementų reikšmės.
.
Kitose eilučių pateikti užklausų duomenys: Skaičius
- užklausos tipas ('0', '1' arba '2').
Jei yra
0
, tai toje eilutėje toliau yra trys skaičiai: - nustatymo užklausos intervalo pradžia, pabaiga, ir elementams nustatoma reikšmė (
).
Jei yra
1
, tai toje eilutėje toliau yra trys skaičiai: - pridėjimo užklausos intervalo pradžia, pabaiga, ir elementams pridedama reikšmė (
).
Jei yra
2
, tai toje eilutėje taip pat yra du skaičiai ir
- sumuojamo intervalo pradžia ir pabaiga (
).
Rezultatai
Kiekvienai 2
tipo užklausai išveskite prašomų elementų kvadratų sumą.
Pavyzdžiai
Pradiniai duomenys | Rezultatai |
---|---|
2 4 5 1 2 3 4 2 1 4 0 3 4 1 2 1 4 1 3 4 1 2 1 4 1 1 1 2 1 1 |
Testas 1: 30 7 13 Testas 2: 1 |
Pastaba:
Kvadratų sumos niekada neviršys