Модуль: Корневая декомпозиция


Задача

3 /6


Сумма на отрезке - 2

Теория Нажмите, чтобы прочитать/скрыть


У нас есть задача, о том как быстро считать суммы на отрезке l...r в массиве a, в котором элементы могут изменяться по одному, за асимптотику меньшую, чем O(n).
Эта задача решается аналогично прошлой, но при запросе изменения необходимо поменять сумму в соответствующем блоке.

Задача

Дан массив a длины n (\(1 <= n <= 2 \cdot 10^6\), \(1 <= a_i <= 10^9\)). Также даны m (\(1 <= m <= 500\)) запросов вида t, l, r (\(0 <= t <= 1\), \(1 <= l <= r <= n\)).

Если \(t = 0\), то на запрос нужно вывести сумму чисел на отрезке от l до r включительно. Если \(t = 1\), то элементу с номером l присваивается значение r. Элементы нумеруются с 1 до n

 

Примеры
Входные данные Выходные данные
1
5
1 2 3 4 5
4
0 1 2
1 1 5
0 1 2
0 1 1
3
7
5

time 3000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w6413
Комментарий учителя