1372:土地

时间限制: 1 S | 内存限制: 65536 KB
Accept: 0 | Submit: 0
[提交] [状态] [讨论版]
描述

有一块N*N大小的土地(1<=N<=250),每一小块土地都对应着一个价值v(0<=v<=250)。现在有Q次查询(1<=Q<=100000),每次查询针对一块固定大小为M*M的土地(1<=M<=N),但这块M*M土地的起始左上角位置会随着每次查询而改变。求这块M*M土地上,最大价值的小块土地减去最小价值的小块土地的结果。

输入

只有一组案例。

先是三个整数N、M、Q(1<=N<=250,1<=M<=N,1<=Q<=100000)

然后是N行N列个整数,表示每小块土地的价值(0~250之间)

最后是Q行,每行两个数字,代表查询土地左上角的行和列值(土地的行和列值从第1行和第1列开始算起)

输出

针对每次查询,输出一个整数,表示范围内的最大价值减最小价值的结果。

每次查询输出结果后都要换行。

样例输入

5 2 1

1 2 3 4 5

1 2 3 4 5

5 4 3 2 1

1 1 1 1 1

2 2 2 2 2

3 2

样例输出

3

HINT

有1次查询,第3行第2列(数字4)为左上角,边长为2的土地是

4 3

1 1

其中最大值是4,最小值是1,相减得3

来源
厦大附中编程竞赛培训