#P1195. Mobile phones

Mobile phones

题目描述

假设Tampere地区的第四代移动电话基站按以下方式运行。该区域被划分为若干方格,这些方格组成一个S×SS \times S的矩阵,行和列的编号从00S1S-1。每个方格内有一个基站。方格内活跃手机的数量可能因手机移动或开关机而变化。基站会定期向主基站报告手机数量的变化以及对应的行列坐标。

编写一个程序,接收这些报告并回答关于任意矩形区域内当前活跃手机总数的查询。

输入格式

输入从标准输入读取整数,查询结果输出到标准输出。每条输入单独占一行,包含一个指令整数和若干参数整数,具体格式如下:

指令 参数 说明
0 S 初始化S×SS \times S的矩阵(仅出现在输入开头)
1 X Y A 将位置(X,Y)(X,Y)的手机数量增加AAAA可为负)
2 L B R T 查询矩形区域(L,B)(L,B)(R,T)(R,T)的手机总数
3 - 结束程序(仅出现在输入末尾)

所有输入值均在合法范围内:

  • 矩阵大小:1×1S×S1024×10241 \times 1 \leq S \times S \leq 1024 \times 1024
  • 单元格值:0V327670 \leq V \leq 32767
  • 更新量:32768A32767-32768 \leq A \leq 32767
  • 最大总手机数:M=230M = 2^{30}

输出格式

仅对指令2输出查询结果,每个结果占一行。

样例输入

0 4
1 1 2 3
2 0 0 2 2 
1 1 1 2
1 1 2 -1
2 1 1 2 3 
3

样例输出

3
4

题目来源

IOI 2001