10664: 2D large matrix query


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

Бали: 100 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
Brain****, C, C++, Java, Pascal, Python, v8js

Матриця розміром \(NxN\) заповнена спочатку нулями.

Необхідно обробляти наступні запити:
1 \(R\) \(C\) \(X\) - Додати до клітинки з рядка \(R\), стовпчика \(C\) число \(X\) ( \(A[R][C]+=X\))
2 \(R1\) \(C1\) \(R2\) \(C2\) - знайти суму чисел в прямокутнику обмеженому рядками \(R1..R2\) та стовпчиками \(C1..C2\)

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

В першому рядку число \(N\) - розмір матриці (\(1 \le N \le 2*10^6\))
В кожному з наступних рядків міститься опис відповідного запиту
кожен запит починається числом \(type\) - яке позначає тип запиту (1,2,3)
Якщо \(type=1\) то далі йдуть два числа \(R\) \(C\) (\(1 \le R,C \le N\))
Якщо \(type=2\) то далі йдуть чотири числа \(R1\) \(C1\) \(R2\) \(C2\) (\(1 \le R1 \le R2 \le N\)), (\(1 \le C1 \le C2 \le N\))
Якщо \(type=3\) треба припинити роботу програми
Кількість запитів не перевищуватиме \(2*10^5\)

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

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

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

5
1 1 1 7
1 2 2 8
2 1 1 5 5
1 3 3 9
2 1 1 5 5
3

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

15
24

Коментарі

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