返回小组 开始 2019-10-07 08:30:00

201910练习赛(提高组)

结束 2019-10-07 12:30:00
Contest is over.
当前 2024-09-20 06:28:32

B. 穿越魔法结界

描述

为什么要征服山?——因为山就在那里。

作为一名勇敢的探险者,你悄悄来到了一座小岛寻找传说中的海盗的宝藏。终于,你看见宝藏就在你的前方不远处。但是你不能贸然前进,因为路上有着强大的魔法结界。这些结界根据能量的不同分为P种,踏入每种结界,你都会受到一定的伤害。为了拿到宝藏,这些伤害算不 了什么。但是你要尽可能地减少伤害,请你设计一条路线,使你穿越结界获取宝藏受到的伤害最少。

下面是一个魔法结界能量示意图,结界是一个正方形,内部有P种不同的能量,每种字母表示一种能量。你从最上端开始走,每次可以走到与你所在的位置上下左右相邻的位置,或者在同种能量结界中任意传送。重复进入同一种能量结界不会再次受到伤害。 

|AAABBC|

|ABCCCC|

|AABBDD|

|EEEEEF|

|EGGEFF|

|GGFFFF|

你有H点生命值,请你在贸然行动之前先判断是否能够活着(生命值大于0)穿越结界拿到宝藏,如果能够,请求出最多剩余的生命值。

输入

输入数据有若干行;

第一行有三个非负整数N、P、HN为结界的边长,P为不同的能量结界的数量,H为你的生命值。
2 - P+1行,每行一个非负整数,表示走到该种能量结界受到的伤害值。
P+2至第P+2+N行,每行N个正整数,为地图上该单元格的能量种类的编号,编号为1…P

输出

如果你能够穿越结界到达对岸的宝藏,输出最多剩余的生命值。如果不能穿越,输出NO。

样例

输入

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

提示

对于40%数据,4\leq N\leq 10

对于100%数据,4\leq N\leq 50、1\leq P\leq N^2、0\leq H\leq 2\times 10^8


Submit

登录

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