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
Коментарі