#YDRS010B. 漂流
漂流
漂流
题目描述
奶龙漂流到了一片群岛.
可以认为这片海域有 个岛屿, 条航路. 奶龙登陆岛屿 需要消耗 的时间, 沿着航路 从一端划船到另一端需要消耗 的时间。
因为奶龙可以化作龙舟, 可以快速通过某段航路, 把时间消耗变成 . 但是奶龙的能量有限, 所以从岛 到岛 的航线上, 只能选择其中一条航路变成龙舟, 剩下的航路还要划船. 奶龙很聪明, 会规划总耗时最短的航线, 记 表示从 到 的所有航线中, 允许选择至多一条航路, 使其耗时变成 后的总耗时的最小值.
由于从 到 后, 奶龙还需要花费 时间登陆, 所以奶龙的总耗时为: .
假如奶龙位于岛 , 它已经把岛上的食物吃光了, 可是奶龙很能吃, 所以他的肚子又饿了. 他会登陆最快可以登陆的岛吃东西. 也就是花费 的时间. 你可以选择任意岛(包括 本身)作为点 .
暴暴龙可以将奶龙任意投放到某个岛上, 他想让奶龙尽可能饿更久, 你要帮奶龙计算, 最坏情况下他要饿多久.
输入格式
第一行包含有 个正整数: , 表示岛屿数和航路数。
接下来 行,每行包含 个整数 , 和 ,表示一条航路。
最后 行包含 个正整数, 表示登陆每个岛屿的时间 .
题目保证群岛抽象成的图是联通的且没有重边和自环。
输出格式
输出 个正整数,表示奶龙饿肚子最久是多长时间.
输入输出样例
输入 #1
输出 #1
输入 #2
输出 #2
说明 / 提示
对于第一组样例, 奶龙被投放到每个岛上, 最短饿肚子的时间分别为 , 暴暴龙会将他投放到第 座岛屿, 所以答案为 .
对于第二组样例, 奶龙被投放到每个岛上, 最短饿肚子的时间分别为 , 暴暴龙会将他投放到第 座岛屿, 所以答案为 .
数据范围与约定
对于 的数据,满足 且 .
对于另外 的数据,满足 .
对于所有的数据,保证 。
相关
在下列比赛中: