10448: Значення елемента з додаванням на відрізку


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

Бали: 100 (partial)
Time limit: 1.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\) рядків описує запит. Спочатку вводиться одна літера, що кодує тип запиту (q - взнати значення елемента, a - додати значення до елементів).
Вслід за літерою q вводиться одне число - номер елементу.
Вслід за літерою a вводяться три числа - номер лівої та правої границі відрізка, та число яке додається.

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

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

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

5
10 20 10 30 10
5
q 3
a 2 4 5
q 3
a 3 3 -23
q 3

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

10
15
-8

Коментарі

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