厄神降临之路
题号:NC252370
时间限制:C/C++/Rust/Pascal 4秒,其他语言8秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

键山雏有一个 n 个点的简单无向图,点 i 有点权 a_i,点 i 与点 j 之间的连边(如果存在)有边权 e_{ij}定义一条路径的花费是该路径上的点权之和以及边权之和的乘积。
键山雏想要你帮忙找出花费最小的
环。如果你找不着,厄运就到你身上啦!
环是从一个点出发,不经过一条边一次以上,再回到这个点的路径。

输入描述:

第一行一个正整数 n
接下来 n 个正整数,第 i 个整数代表点 i 的点权a_i
接下来 n 行,每行 n 个非负整数,第 i 行第 j 列的整数 e_{ij} 代表点 i 与点 j 之间的边权。e_{ij}=0,表示点 i 与点 j 之间的连边不存在。

输出描述:

一个正整数表示回路的最小花费,或输出 -1 表示回路不存在。
示例1

输入

复制
5
2 6 4 9 3
0 0 0 10 4
0 0 0 0 0
0 0 0 3 0
10 0 3 0 0
4 0 0 0 0

输出

复制
-1
示例2

输入

复制
5
10 10 10 4 1
0 0 2 5 0
0 0 6 5 7
2 6 0 1 0
5 5 1 0 0
0 7 0 0 0

输出

复制
192

备注:

3 \leq n \le 20, 1 \le a_i \le 1e6, 0 \le e_{ij} \le 1e6