#P1156. A STRIP OF LAND

A STRIP OF LAND

题目描述

丁吉尔镇的居民正在寻找一个区域来建造机场。他们手上有该地区的地图,地图是一个由单位方格组成的矩形网格,每个方格由坐标 (x,y)(x, y) 标识,其中 xx 表示水平方向(西-东),yy 表示垂直方向(南-北)。每个方格的高度在地图上标出。

你的任务是找到一个矩形区域,使得:

  1. 该区域内最高方格和最低方格的高度差不超过给定的限制 CC,即 max(Hxy)min(Hxy)C\max(H_{xy}) - \min(H_{xy}) \leq C
  2. 该区域的宽度(即沿西-东方向的方格数)不超过 100100

在所有满足条件的矩形区域中,你需要找到面积最大的一个(即包含的方格数最多)。如果有多个这样的区域,只需输出其中一个的面积即可。

输入

第一行包含三个整数:UUVVCC
接下来的 VV 行,每行包含 UU 个整数 HxyH_{xy},其中 HxyH_{xy} 表示坐标为 (x,y)(x, y) 的方格的高度。具体来说,HxyH_{xy} 出现在第 (Vy+2)(V - y + 2) 行输入的第 xx 个位置。

输入约束:

  • 1U7001 \leq U \leq 7001V7001 \leq V \leq 700,分别表示地图的宽度(西-东方向)和高度(南-北方向)。
  • 0C100 \leq C \leq 10,表示允许的最大高度差。
  • 30,000Hxy30,000-30,000 \leq H_{xy} \leq 30,000,表示每个方格的高度。
  • 地图的西南角坐标为 (1,1)(1, 1),东北角坐标为 (U,V)(U, V)

输出

输出满足条件的最大面积(即方格数)。

样例输入

10 15 4
41 40 41 38 39 39 40 42 40 40
39 40 43 40 36 37 35 39 42 42
44 41 39 40 38 40 41 38 35 37
38 38 33 39 36 37 32 36 38 40
39 40 39 39 39 40 40 41 43 41
39 40 41 38 39 38 39 39 39 42
36 39 39 39 39 40 39 41 40 41
31 37 36 41 41 40 39 41 40 40
40 40 40 42 41 40 39 39 39 39
42 40 44 40 38 40 39 39 37 41
41 41 40 39 39 40 41 40 39 40
47 45 49 43 43 41 41 40 39 42
42 41 41 39 40 39 42 40 42 42
41 44 49 43 46 41 42 41 42 42
45 40 42 42 46 42 44 40 42 41

样例输出

35

来源

国际信息学奥林匹克竞赛(IOI)1999