C0921 [SDOI2011]消防

内存限制:512 MB 时间限制:1000 ms

题目描述

某个国家有 $n$ 个城市,这 $n$ 个城市中任意两个都连通且有唯一一条路径,每条连通两个城市的道路的长度为 $z_i(z_i \le 1000)$。

这个国家的人对火焰有超越宇宙的热情,所以这个国家最兴旺的行业是消防业。由于政府对国民的热情忍无可忍(大量的消防经费开销)可是却又无可奈何(总统竞选的国民支持率),所以只能想尽方法提高消防能力。

现在这个国家的经费足以在一条边长度和不超过 $s$ 的路径(两端都是城市)上建立消防枢纽,为了尽量提高枢纽的利用率,要求其他所有城市到这条路径的距离的最大值最小。

你受命监管这个项目,你当然需要知道应该把枢纽建立在什么位置上。

输入格式

输入包含 $n$ 行:

第 $1$ 行,两个正整数 $n$ 和 $s$,中间用一个空格隔开。其中 $n$ 为城市的个数,$s$ 为路径长度的上界。设结点编号以此为 $1$,$2$,……,$n$。

从第 $2$ 行到第 $n$ 行,每行给出 $3$ 个用空格隔开的正整数,依次表示每一条边的两个端点编号和长度。例如,“2 4 7”表示连接结点 $2$ 与 $4$ 的边的长度为 $7$。

输出

输出包含一个非负整数,即所有城市到选择的路径的最大值,当然这个最大值必须是所有方案中最小的。

样例

样例输入 1

5 2 1 2 5 2 3 2 2 4 4 2 5 3

样例输出 1

5

样例输入 2

8 6 1 3 2 2 3 2 3 4 6 4 5 3 4 6 4 4 7 2 7 8 3

样例输出 2

5

提示

对于 $100\%$ 的数据,$n \le 300000$,边长小等于 $1000$。