返回小组 开始 2020-08-11 08:00:00

NOI 2020云南赛区选拔赛 第一试

结束 2020-08-11 13:00:00
Contest is over.
当前 2024-09-20 00:29:07

B. 旅行

描述

给定一个N*N大小的二维数组,该二维数组使用P种不同数字进行填充。如下图所示,你需要从该二维数组的第一行移动到最后一行,你的移动方向只能是上下左右。在该二维数组中,同一个数字所标识的区域为一类区域,你需要注意的是:

(1)当你进入不同的区域时,你需要消耗一定的体力,进入不同的区域所消耗的体力不同;

(2)你可以在同一类区域内任意传送;

(3)重复进入同一类区域不消耗任何体力。

15938232912398.png

你一共有H点体力值,请你计算一下从第一行移动到最后一行最多能剩下多少体力。

输入

输入数据有若干行。

第一行为三个非负整数N、P、H。N表示矩阵的大小为N*N,P代表矩阵中一共有P种不同的数字,H为你的体力。

第二行到P+1行,每行一个非负整数,表示进入该区域所需要消耗的体力值。

第P+2至第P+2+N行,每行N个正整数,表示矩阵中所填充的数字。

输出

输出数据为一行一个整数,表示你从第一行移动到最后一行最多能剩下多少体力。

注意,本题的所有测试数据都保证你最终所剩下的体力为正数。

样例

输入

6 7 10
3
1
2
2
1
1
3
1 1 1 2 2 3
1 2 3 3 3 3
1 1 2 2 4 4
5 5 5 5 5 6
5 7 7 5 6 6
7 7 6 6 6 6

输出

7

提示

【样例说明】

选择的路线如下:2—5—6。

15938233516236.png

第一步,初始进入(1, 4)单元格,消耗1点体力;

第二步,从(1, 4)传送到(3, 3),不消耗体力;

第三步,从(3, 3)进入(4, 3),消耗1点体力;

第四步,从(4, 3)传送到(5, 4),不消耗体力;

第五步,最终从(5, 4)进入(6, 4)抵达终点,消耗1点体力;

总共消耗3点体力,最多还剩下7点体力。

【数据规模与约定】

对于50%的数据,4≤N≤10、1≤P≤N*N、0≤H≤2*10^8

对于100%的数据,4≤N≤50、1≤P≤N*N、0≤H≤2*10^8


Submit

登录

注册
时间限制 1 秒
内存限制 256 MB
提交