输入一个 n n n 行 m m m 列的整数矩阵,再输入 q q q 个询问,每个询问包含四个整数 x _ 1 , y _ 1 , x _ 2 , y _ 2 x\_1, y\_1, x\_2, y\_2 x_1,y_1,x_2,y_2,表示一个子矩阵的左上角坐标和右下角坐标。
对于每个询问输出子矩阵中所有数的和。
输入格式
第一行包含三个整数 n , m , q n,m,q n,m,q。
接下来 n n n 行,每行包含 m m m 个整数,表示整数矩阵。
接下来 q q q 行,每行包含四个整数 x _ 1 , y _ 1 , x _ 2 , y _ 2 x\_1, y\_1, x\_2, y\_2 x_1,y_1,x_2,y_2,表示一组询问。
输出格式
共 q q q 行,每行输出一个询问的结果。
数据范围
1
≤
n
,
m
≤
1000
1 \le n,m \le 1000
1≤n,m≤1000,
1
≤
q
≤
200000
1 \le q \le 200000
1≤q≤200000,
1
≤
x
_
1
≤
x
_
2
≤
n
1 \le x\_1 \le x\_2 \le n
1≤x_1≤x_2≤n,
1
≤
y
_
1
≤
y
_
2
≤
m
1 \le y\_1 \le y\_2 \le m
1≤y_1≤y_2≤m,
−
1000
≤
矩阵内元素的值
≤
1000
-1000 \le 矩阵内元素的值 \le 1000
−1000≤矩阵内元素的值≤1000
输入样例:
3 4 3
1 7 2 4
3 6 2 8
2 1 2 3
1 1 2 2
2 1 3 4
1 3 3 4
输出样例:
17
27
21
思路
S _ i , j = S _ i − 1 , j + S _ i , j − 1 − S _ i − 1 , j − 1 + a _ i , j S\_{i,j}=S\_{i-1,j}+S\_{i,j-1}-S\_{i-1,j-1} + a\_{i,j} S_i,j=S_i−1,j+S_i,j−1−S_i−1,j−1+a_i,j
S _ x 2 , y 2 − S _ x 1 − 1 , y 2 − S _ x 2 , y 1 − 1 + S _ x 1 − 1 , y 1 − 1 S\_{x2,y2}−S\_{x1−1,y2}−S\_{x2,y1−1}+{S\_x1−1,y1−1} S_x2,y2−S_x1−1,y2−S_x2,y1−1+S_x1−1,y1−1