#P2865. 二维子网格最大值
二维子网格最大值
题目描述
给出一个 行 列的二维网格 ,从上往下行的编号从 至 ,从左往右列的编号从 至 ,第 行第 列的数是 。
有一个高度为 ,宽度为 的长方形计算器。每次你可以选择二维网格的某个格子 作为左上角,然后把计算器的左上角对准格子 覆盖下去,计算器会自动计算出二维网格被覆盖区域的最大值。注意计算器的边要与二维网格的边平行,同时计算器不能超出二维网格。二维网格被计算器覆盖的部分,称为二维网格的“子网格”。
现在的任务是:把计算器从二维网格的第 行第 列开始,从上往下、从左往右滑动,每覆盖一次,就输出对应的“子网格”的最大值。

输入格式
第一行两个整数 和 ,表示网格的行数和列数。
接下来 行,每行 个整数,表示二维网格的数值。
最后一行两个整数 和 ,表示计算器的高度和宽度。
输出格式
共 行,每行 个整数。其中第 行第 列的数表示把计算器左上角对准第 行第 列格子时,覆盖区域的最大值。
样例
3 3
1 1 2
2 3 4
4 3 2
2 1
2 3 4
4 3 4
数据范围与提示
- ,
来源
单调队列