Laiko ribojimas: 1s
Atminties ribojimas: 256MB
Duomenų failas: segment_tree_3.in
Rezultatų failas: segment_tree_3.out
Masyvo užklausos 3
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ą.
- Pridėjimo užklausa: prie sekos elementų pridėti skaičių .
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: - pridėjimo užklausos intervalo pradžia, pabaiga, ir prie elementų pridedama reikšmė ().
Rezultatai
Kiekvienai ?
tipo užklausai išveskite prašomų elementų sumą.
Pavyzdžiai
Pradiniai duomenys | Rezultatai |
---|---|
5 6 5 5 3 4 0 + 1 4 5 + 3 5 5 ? 2 4 + 1 2 0 + 3 5 1 ? 3 5 |
37 35 |
2 7 3 2 ? 1 1 ? 2 2 ? 1 2 + 1 2 4 ? 1 1 ? 2 2 ? 1 2 |
3 2 5 7 6 13 |