10454: 2D Додавання на підматриці. Сума на підматриці
Реалізуйте структуру даних, яка зможе ефективно опрацьовувати такі запити:
1) додати на підматриці всім елементам число \(val\)
2) знайти значення елемента в матриці
Формат вхідних даних
В першому рядку два числа \(N,M\) - розміри матриці (\(1 \le N,M \le 1000\))
В наступних \(N\) рядках міститься по \(M\) чисел \(Ai,j\) - елементи матриці (\(-100 \le Ai,j \le 100\))
В наступному рядку міститься число \(Q\) кількість запитів (\(1 \le Q \le 10^5\))
Кожен з наступних \(Q\) рядків містить оппис запиту, який починається або з літери a, або з літери s
За літерою a вводиться 5 чисел \(R1,C1\) - рядок і стовпчик лівого верхнього кута, \(R2,C2\) - рядок і стовпчик правого нижнього кута підматриці , \(VAL\) - значення яке треба додати до всіх елементів підматриці (\(-100 \le VAL \le 100\))
За літерою s вводиться 4 числа \(R1,C1\) - рядок і стовпчик лівого верхнього кута, \(R2,C2\) - рядок і стовпчик правого нижнього кута підматриці - межі прямокутника суму чисел якого необхідно обчислити.
Формат вихідних даних
Для кожного запиту типу v виведіть результат в окремому рядку.
Приклад вхідних даних
3 5
0 1 3 1 2
2 1 0 2 1
3 1 1 1 2
3
s 1 1 3 5
a 2 2 3 4 10
s 1 1 3 5
Приклад вихідних даних
21
81
Коментарі