#P669. 方形最大值

方形最大值

题目描述

给定 n×nn\times n 个整数 ai,ja_{i,j} 构成一个方阵,给定 kk,请求出原方阵中每个 k×kk\times k 的小方阵的最大值分别是多少。

输入格式

第一行:两个整数 nnkk。 第二行到第 n+1n+1 行:第 i+1i+1 行有 nn 个整数表示 ai,1a_{i,1}ai,na_{i,n}

输出格式

nk+1n-k+1 行:每行 nk+1n-k+1 个数字,其中第 ii 行 第 jj 列的数字表示原方阵中 ai,ja_{i,j}ai+k1,j+k1a_{i+k-1,j+k-1} 的最大值。

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

数据范围

  • 对于 30%30\% 的数据,n30n\leq 30
  • 对于 60%60\% 的数据,n300n\leq 300
  • 对于 100%100\% 的数据,1kn20001\leq k\leq n\leq 2000
  • 1ai,j1,000,000,0001\leq a_{i,j}\leq 1,000,000,000