1つの#include <ビット/ STDC ++ H> 2 使用して 名前空間STDを、 3 INT [ 1000年 + 5 ] [ 1000年 + 5 ]。 4 INT X [ 千 + 5 ] [ 1000年 + 5 ]。 5 INT X [ 千 + 5 ] [ 1000年 + 5 ]。 6 INT Y [ 1000年 + 5 ] [ 1000年 + 5 ]。 7 のint Y [1000年 + 5 ] [ 1000年 + 5 ]。 8 int型 Q [ 1000年 + 5 ]。 9 int型 Q [ 1000年 + 5 ]。 10 INT メイン(){ 11 のint N、M、K; scanf関数(" %D%D%D "、&N、&M、およびK); 12 のために(int型 i = 1 ; iが<= N ++ {I) 13 のための(INT J = 1 ; J <= M; ++ j)は 14 のscanf("%のD 」、および[I] [J]); 15 } 16 INT F、B、F、B; 17 用の(int型 i = 1 ; iが<= N; ++ i)が{ 18 F = B = F = B = Q [ 1 ] = Q [ 1 ] = 1 ; 19 用(INT J = 2、J <= M; ++ j)は{ 20 ながら([I] [j]は> [i]は[Qが= [B] && F <= B) - B; 21 ながら([I]、[J] <= [I] [Q [B] && F <= B) - B; 22 Q [B ++ ] = Q [++ B] = jは、 23 ながら(jQの[F]> = K)++ F。 24 一方(JQ [F]> = K)++ F。 25 場合(J> = K){ 26 X [i]は[J-K + 1 ] = [I] [Q [F]]。 27 X [i]は[J-K + 1 ] = [I] [Q [] F]と、 28 } 29 } 30 } 31 のための(int型 I = 1 ; I <= M-K + 1 ; ++ I){ 32 F = B = F = B = Q [ 1 ] = Q [ 1 ] = 1 。 33 のために(int型、J = 2、J <= N; ++ j)は{ 34 ながら(X [J] [I]> = X [Q [B] [I] && F <= B) - B。 35 一方(X [J] [I] <= xで[Q [B] [I] && F <= B) - B。 36 Q [++ B] = Q [++ B] = J。 37 一方(jQの[F]> = K)++ F。 38 一方(JQ [F]> = K)++ F。 39 であれば(j> = K){ 40 Y [J-K + 1 ] [I] =のX [Q [F] [I]。 41 Y [J-K + 1 ] [I] =のX [] F Q [] [I]。 42 } 43 } 44 } 45 INT ANS = 0x3f3f3f3f 。 46 のためには、(int型 I = 1 ; I <= N-K + 1 ; ++ {I) 47 のための(int型 J = 1 ; J <= M-K + 1 ; ++ j)は{ 48の ANS =分(ANS、Yを[I] [J] - Y [I] [J])。 49 } 50 } 51 のprintf(" %dの" 、ANS)。 52 リターン 0 。 53 }