10243: Максимум на відрізку та додавання на відрізку
Реалізуйте дерево відрізків з додаванням на відрізку, та знаходженням максимуму на відрізку.
Формат вхідних даних
В першому рядку ціле число \(N\), кількість елементів масиву (\(1 \le N \le 10^5\)).
В другому рядку елементи масиву. (\(0 \le Ai \le 10^5\))
В третьому рядку вводиться число \(K\) - кількість запитів (\(1 \le K \le 3*10^4\))
В кожному з наступних \(K\) рядків міститься запит.
Спочатку вводиться одна літера, вид запиту (m — знайти максимум на відрізку, a — збільшити всі елементи на відрізку).
За літерою m вводяться два числа — ліва та права границя відрізка.
За літерою a вводяться три числа — ліва та права границя відрізка, та число value яке треба додати усім елементам даного відрізка.
Формат вихідних даних
Для кожного запиту типу m виведіть через пробіл - максимум на відрізку
Приклад вхідних даних
5
2 4 3 1 5
5
m 1 3
a 2 4 100
m 1 3
a 5 5 10
m 1 5
Приклад вихідних даних
4 104 104
Коментарі