4268 - 越野滑雪

题目描述

一年一度的冬季运动会即将在 K 市滑雪场举行。越野滑雪赛道所在的雪原可以用一个 M \times N 的高程网格来描述。网格中的某些格子被指定为赛道的检查点

选手可以从一个格子滑到与它相邻的格子(即正北、正南、正东或正西方向紧挨着的格子),但只有当两个格子的高程之差的绝对值不超过难度等级 D 时,才允许这样滑行。

组委会希望为整条赛道确定一个尽可能小的难度等级 D,使得任意两个检查点之间都能通过若干次滑行互相到达。请你求出这个最小的 D

输入

1 行,两个整数 MN

2 行到第 1+M 行,每行 N 个整数,表示各格子的高程。

2+M 行到第 1+2M 行,每行 N 个值,为 01,其中 1 表示该格子是一个检查点。

输出

一个整数,表示使所有检查点互相可达的最小难度等级 D

样例

输入

3 3
10 12 30
11 40 35
13 14 50
1 0 0
0 0 0
1 0 1

输出

18

输入

5 5
5 5 5 5 5
5 90 90 90 5
5 90 20 90 5
5 90 90 90 5
5 5 5 5 20
0 0 0 0 0
0 0 0 0 0
0 0 1 0 0
0 0 0 0 0
1 0 0 0 0

输出

85
说明

样例解释 1

三个检查点分别位于左上角、左下角和右下角。当 D = 18 时,右下角的检查点可以沿 10 \to 12 \to 30 \to 35 \to 50 这条路线(最大高差 18)与其余检查点连通;当 D < 18 时,右下角的检查点无法从其他两个检查点到达。

样例解释 2

中心的检查点被一圈高程为 90 的格子围住,想离开中心必须跨过高差 90 - 5 = 8590 - 20 = 70 的边界,因此 D = 85。注意右下角高程为 20 的格子并不是检查点。

数据规模

对于 100\% 的数据,满足 1 \leq M, N \leq 500,每个格子的高程是 010^9 之间的整数。

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 0
通过人数 0
金币数量 2 枚
难度 基础


上一题 下一题