#P005813. 跳水

    ID: 5813 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>25-9-C组月赛T4二分提高二分查找普及+/提高

跳水

题目描述

在一个热闹的水上乐园中,设计师打造了一个 M×NM × N1M,N5001 \le M, N \le 500)的矩形泳池区域,每个格子代表一个泳池单元,拥有一个特定的水深值,范围在 0010910^9 之间。为了增加乐趣,乐园在某些泳池单元设置了跳水点,作为游客开始入水的起点。

每个跳水点的趣味值定义为:满足以下条件的最小整数 CC

  • 从该跳水点出发,游客可以移动到相邻的泳池单元(向北、南、东、西四个方向)。
  • 目标单元的水深与当前单元的水深差的绝对值不超过 CC,游客才能安全的游到该区域。
  • 通过这样的移动,游客需要能够游到至少 TT 个不同的泳池单元。

请帮助乐园管理者计算所有跳水点的趣味值之和。

输入格式

第一行包含三个整数 NNMMTT,分别表示泳池网格的行数、列数,以及每个跳水点需要访问的最少泳池单元数量。

接下来 NN 行,每行包含 MM 个整数,表示每个泳池单元的水深值。

再接下来 NN 行,每行包含 MM 个整数,每个整数为 001111 表示该泳池单元是跳水点00 表示不是。

输出格式

输出一行一个整数,表示所有跳水点的趣味值之和

样例 #1

输入

3 5 10
20 21 18 99 5
19 22 20 16 17
18 17 40 60 80
1 0 0 0 0
0 0 0 0 0
0 0 0 0 1

输出

24

数据范围

对于 100%100\% 的数据,满足 1N,M5001 \le N, M \le 5001TN×M1 \le T \le N × M,每个泳池单元的水深值在 [0,109][0, 10^9] 之间。