10449: Сума на відрізку з додаванням на відрізку


Відправити розв'язок

Бали: 100 (partial)
Time limit: 5.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
Brain****, C++, Java, Pascal, Python, v8js

Реалізуйте структуру даних, що дозволяє ефетивно додавати число елементам на заданому відрізку масиву та знаходити суму на відрізку.

Формат вхідних даних

В першому рядку число \(N\) (\(1 \le N \le 2*10^5\))
В другому рядку \(N\) чисел - елементи масиву (\(-100 \le Ai \le 100\))
В третьому рядку число \(M\) - кількість запитів (\(1 \le N \le 2*10^5\))
Кожен з наступних \(M\) рядків описує запит. Спочатку вводиться одна літера, що кодує тип запиту (s - взнати суму на відрізку, a - додати значення до елементів).
Вслід за літерою s вводиться два числа \(L,R\) - границі відрізку на якому потрібно порахувати суму елементів.
Вслід за літерою a вводяться три числа - номер лівої та правої границі відрізка, та число яке додається.

Формат вихідних даних

Для кожного запиту типу s виведіть результат в окремому рядку.

Приклад вхідних даних

5
10 20 10 20 30
4
a 2 4 100
s 2 4
a 4 5 -41
s 3 4

Приклад вихідних даних

350
189

Коментарі

Ще немає коментарів.