Корневая декомпозиция




Task
Time limit: 10000 ms,
Memory limit: 256 Mb

Дан массив a длины n (1 <= n <= 10^6, 1 <= ai <= 10^9).
Также даны m (1 <= m <= 500) запросов вида +, l, r, k (1 <= l <= r <= n, -10^9 <= k <= 10^9) и запросов вида ?, l, r, k (1 <= l <= r <= n, -10^9 <= k <= 10^9).
В первом случае нужно добавить к числам на отрезке от l до r включительно число k.
Во втором случае нужно вывести 1 если на отрезке от l до r включительно есть число k, иначе вывести 0.
Элементы нумеруются с 1 до n.
Гарантируется, что после любого запроса любой элемент массива a лежет в диапазоне от -10^9 до 10^9 включительно.

Ввод Вывод
5
1 2 1 1 3
3
? 1 4 3
* 2 3 2
? 1 4 3
0
1

(с) Брынских А., 2018

Auto CHOOSE THE PROGRAMMING NECESSARY LANGUAGE!
Attach the program source file:
or enter the source code in the language:

Rules for designing programs and a list of errors during automatic task verification
           

Results: