在艾泽拉斯,有 n 个城市。编号为 1,2,3,…,n。
城市之间有 m 条双向的公路,连接着两个城市,从某个城市到另一个城市,会遭到联盟的攻击,进而损失一定的血量。
每次经过一个城市,都会被收取一定的过路费(包括起点和终点)。路上并没有收费站。
假设 1 为暴风城,n 为奥格瑞玛,而他的血量最多为 b,出发时他的血量是满的。如果他的血量降低至负数,则他就无法到达奥格瑞玛。
歪嘴哦不希望花很多钱,他想知道,在可以到达奥格瑞玛的情况下,他所经过的所有城市中最多的一次收取的费用的最小值是多少。
第一行 3 个正整数,n,m,b。分别表示有 n 个城市,m 条公路,歪嘴哦的血量为 b。
接下来有 n 行,每行 1 个正整数,fi。表示经过城市 i,需要交费 fi元。
再接下来有 m 行,每行 3 个正整数,ai,bi,ci(1≤ai,bi≤n)。表示城市 ai和城市 bi之间有一条公路,如果从城市 ai到城市 bi,或者从城市 bi 到城市 ai,会损失ci的血量。
仅一个整数,表示歪嘴哦交费最多的一次的最小值。
如果他无法到达奥格瑞玛,输出 AFK。
4 4 8
8
5
6
10
2 1 2
2 4 1
1 3 4
3 4 3
10
对于 60% 的数据,满足 n≤200,m≤10^4,b≤200;
对于 100% 的数据,满足 1≤n≤10^4,1≤m≤5×10^4,1≤b≤10^9;
对于 100% 的数据,满足 1≤ci≤10^9,1≤fi≤10^9,可能有两条边连接着相同的城市。