U2687.心海要回家

普及+/提高

省选

通过率:0%

时间限制:1.00s

内存限制:12MB

题目描述

数据加强版移步至这里

在提瓦特大陆上,有n个城市或村庄,编号为1 ~ n 。

村庄,城市之间有 m 条双向的通路,连接着两个村庄或城市,从某个村庄或城市到另一个村庄或城市,会遭到愚人众的攻击,进而损失一定的能量。

每次经过一个城市,都会被收取一定的摩拉(包括达马山和珊瑚宫)。路上并没有愚人众~

假设 1 为达马山,n 为珊瑚宫,而她的能量最多为 b,出发时她的能量是满的。如果她的能量降低至负数,则她就无法到达珊瑚宫。

心海不希望花很多钱,肯定不是因为没有摩拉,她想知道,在可以到达珊瑚宫的情况下,她所经过的所有村庄、城市等中最多的一次收取的摩拉的最小值是多少。

输入格式

第一行三个整数 n , m , b 分别表示 有 n 个村庄或城市,m 条通路,心海的能量为 b 。

接下来有n行,每行1个正整数,f[i]。表示经过城市或村庄i,需要花费 f[i] 元。

再接下来有m行,每行3个正整数,a[i] b[i] c[i]( 1 <= a[i],b[i] <=n )表示村庄或城市 a[i] 到村庄或城市 b[i] 有一条通路。如果从村庄或城市a[i]到村庄或城市b[i],或从村庄或城市b[i]到村庄或城市a[i],需要损失 c[i]点能量。

输出格式

仅一个整数,表示心海花费最多的一次的最小值。

如果她无法回到珊瑚宫,输出 "你干嘛哈嗨哟"。

输入输出样例

  • 输入#1

    4 4 8
    8
    5
    6
    10
    2 1 2
    2 4 1
    1 3 4
    3 4 3

    输出#1

    10

说明/提示

对于 100%的数据,满足 1<= c[i] <=1e9,1 <= f[i] <= 1e9,可能有两条边连接着相同的城市。

首页