Module: Dijkstra 算法


Problem

4 /14


加油站

Problem

全国有N个城市,其中一些有公路相连。在一条路上行驶需要一箱汽油。在每个城市,一箱汽油有不同的成本。你需要从第一个城市到第 N 个城市,花尽可能少的钱。您不能购买汽油以备将来使用。
 
输入
第一行包含数字 N (1≤N≤100),下一行包含 N 个数字,其中第 i 个指定第 i 个城市的汽油成本(这些是从 0 到 100 的整数).然后是数字 M –该国的道路数量,然后是道路本身的描述。每条道路由两个数字给出——它连接的城市数量。所有的道路都是双向的(也就是说,它们既可以在一个方向上行驶,也可以在另一个方向上行驶),两个城市之间总是只有一条道路,没有从城市通往城市本身的道路。
 
输出
要求输出单个数字 –路线的总成本,如果不可能到达那里,则为 -1。

例子 <头> <日># <正文>
输入 输出
1
5
3 6 1 7 6 
8
1 2
5 4
5 1
3 4
5 2
2 4
2 3
3 1
3