[Poi2003]Smugglers

时间限制:3s    【提交】    空间限制:128MB

题目描述

Byteotia 因为它丰富的金矿资源而闻名世界. 所以在和它的邻国Bitland的边界上每年都有大量的金矿交易。不幸的是由于税务的繁重,商人带着矿产穿过边境时都要交纳矿产价格的50% 作为关税。但是幸运的是,有一些炼金术士已经发明了一些方法能把某一种矿产转化成另一种。于是这样在交易时就可以先把昂贵的矿产转化成便宜的,等到带过边境以后在转换回来。但是由于这项工作费时费力,炼金术士对于每种转换都要收取相应的费用。现在有个商人想将1kg金子带过边境,他想知道最少的花费是多少。


输入格式

第一行仅一个数n表示有多少种金属矿产。1 <= n <= 5000. 接下来n行表示每种金属1kg的单价。第k +1行的数pk为第k种金属的单价。0 <= pk <= 109. 我们假设金子的标号为1。接下来一个正数m表示一共有m种转换方式。0 <= m <= 100000. 接下来m行每行描述一个转换,它由三个数a, b, c 表示把1kga金属转换为1kgb金属需要c的代价。1 <= a,b <= n, 0 <= c <= 10000. 对于特定的金属对ab 最多只会出现一次。


输出格式

输出一行,表示把1kg的金子带过边境的最小花费。


样例输入

4


200
100
40
2
6
1 2 10
1 3 5
2 1 25
3 2 10
3 4 5
4 1 50

样例输出

60

提示

没有写明提示


题目来源

没有写明来源