|
Дерево с изменением отрезка
(Время: 1 сек. Память: 32 Мб Сложность: 66%)
Требуется реализовать эффективную структуру данных, позволяющую хранить элементы массива A[1..N] и прибавлять ко всем элементам отрезка [L, R] одно и то же число.
Входные данные
Первая строка входного файла INPUT.TXT содержит натуральное число N – размер массива (N ≤ 105). Во второй строке записаны N целых чисел – элементы массива, целые числа, не превосходящие 109 по абсолютной величине. Третья строка содержит натуральное число M – количество запросов (M ≤ 30 000). Каждая из следующих M строк представляет собой описание запроса. Сначала вводится одна буква, кодирующая вид запроса («g» – извлечь элемент массива, «a» – прибавление значения на отрезке). Следом за «g» идет целое число I – номер извлекаемого элемента. Следом за «a» записаны три числа L, R и X – границы отрезка [L, R] и значение X, на которое их следует увеличить (1 ≤ L ≤ R ≤ N, 1 ≤ I ≤ N, |X| ≤ 109).
Выходные данные
В выходной файл OUTPUT.TXT для каждого запроса на извлечение элемента выведите результат. Все числа следует выводить в одну строку через пробел.
Пример
№ | INPUT.TXT | OUTPUT.TXT |
1 | 5
2 4 3 5 2
5
g 2
g 5
a 1 3 10
g 2
g 4 | 4 2 14 5 |
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
| |