#48855. 三角形求和

三角形求和

暂无测试数据。

小 D 正在研究有关三角形的数数问题,这时你想找他要点题做,于是他转念一想给你出了这么一道题:

有一个 $n$ 行 $m$ 列的矩阵,矩阵中每个位置都有权值,每次小 D 会询问你上面一个等腰直角三角形里所有点权值的和。

他会告诉你这个直角三角形左上角的定点 $(x, y)$ 以及等腰直角三角形的直角边长 $l$。

例如,$5 \times 5$ 的矩阵中左上角定点为 $(1, 1)$,直角边长为 $2$ 的等腰直角三角形包括 $(1, 1),(2, 1),(2, 2)$ 这三个点。这里 $(i, j)$ 指矩阵第 $i$ 行第 $j$ 列的点。

在这里边长指 该直角边上包含几个点。

注意:给定的定点是左上角的一个非直角顶点,在给定该顶点和等腰三角形直角边长时,该三角形是唯一确定的。可以参照例如中的说法,画出该三角形的样子。

三角形形状如下:

输入格式

一行两个正整数 $n$ 和 $m$。

$n$ 行每行 $m$ 个正整数描述 $n$ 行 $m$ 列的矩阵,第 $i$ 行 $j$ 列的数为 $a_{i,j}$。

一个正整数 $q$ 代表询问次数。

$q$ 行每行三个正整数 $x, y, l$ 意义如题所示。

输出格式

$q$ 行每行一个正整数代表该等腰直角三角形里所有点权值的和。

数据规模与约定

对于 $30\%$ 的数据,$1 \leq n,m \leq 100, 1 \leq a_{i,j} \leq 10^6, 1 \leq q \leq 100$。

对于 $50\%$ 的数据,$1 \leq n, m \leq 100, 1 \leq a_{i,j} \leq 10^8, 1 \leq q \leq 100$。

对于 $100\%$ 的数据,$1 \leq n, m \leq 1000, 1 \leq a_{i,j} \leq 10^8, 1 \leq q \leq 10^6$。

注意,只保证三角形的直角顶点和左上角定点不会越界,如果三角形有超出矩阵范围的部分,该部分的数按 $0$ 算

5 5
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1
1 1 2
3