[Usaco2008 Open] Clear And Present Danger 寻宝之路
农夫约翰正驾驶一条小艇在牛勒比海上航行。
海上有 个岛屿,编号为 到 。约翰从 号岛屿出发,最后到达 号岛屿。一张藏宝图给出了长度为 的岛屿序列 ,其中 、 且 。
如果约翰的航行路线中按顺序出现了该序列中的所有岛屿,且不要求这些岛屿在路线中相邻,他就能找到宝藏。
但是,牛勒比海有海盗出没。约翰知道从 号岛屿到 号岛屿的航线上发生危险的概率,并用危险指数 ()来描述这条航线的危险程度。他希望寻宝过程中经过的所有航线的危险指数之和最小。
请你求出在能够找到宝藏的前提下,最小的危险指数之和。
输入格式
第 行输入 和 。
接下来 行,每行输入一个整数,表示岛屿序列 中的一个元素。保证 、 且 。
接下来输入一个 的方阵,表示任意两个岛屿之间航线的危险指数。数据保证 ;对于 , 与 可以不同。
输出格式
输出最小的危险指数之和。
样例输入
3 4
1
2
1
3
0 5 1
5 0 2
1 2 0
样例输出
7
样例解释
一种找到宝藏且危险指数之和为 的航行路线是:
其中,藏宝图要求的序列 按顺序出现在该路线中。该路线避开了危险指数较大的 号岛屿到 号岛屿之间的航线。
数据范围
- ;
- ;
- ;
- 且 ;
- ;
- 。
来源与许可
本题为 USACO 2008 Open 试题「寻宝之路」,题面与测试数据整理自 BZOJ。
样例 1
输入
3 4
1
2
1
3
0 5 1
5 0 2
1 2 0
输出
7