Laiko ribojimas: 1s
Atminties ribojimas: 256MB
Duomenų failas: segment_tree_4.in
Rezultatų failas: segment_tree_4.out
Masyvo užklausos 4
O tai įdomesnių uždavinių negalėjai padaryti? - Gediminas, probably.
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 dviejų tipų:
- Sumos užklausa: apskaičiuoti elementų sumą.
- Įrašymo užklausa: sekos elementų reikšmes pakeisti į reikšmę .
Pradiniai 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: Simbolis - užklausos tipas (?
arba !
). Jei yra ?
, tai toje eilutėje taip pat yra du skaičiai ir - sumuojamo intervalo pradžia ir pabaiga (). Jei yra !
, tai toje eilutėje toliau yra trys skaičiai: - įrašymo užklausos intervalo pradžia, pabaiga, ir nauja elementų reikšmė ().
Rezultatai
Kiekvienai ?
tipo užklausai išveskite prašomų elementų sumą.
Pavyzdžiai
Pradiniai duomenys | Rezultatai |
---|---|
5 6 5 5 3 4 1 ! 1 4 5 ! 3 5 5 ? 2 4 ! 1 2 3 ! 3 5 1 ? 2 5 |
15 6 |
2 7 3 2 ? 1 1 ? 2 2 ? 1 2 ! 1 2 4 ? 1 1 ? 2 2 ? 1 2 |
3 2 5 4 4 8 |