H 有多短
题号:NC220367
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

给定一棵n(2<=n<=100000,n∈Z+)个点的树(保证树连通),将k(0<=k<=1000000000,k∈Z)分配到各个边的权值上,使得每条边权值为A[i](0<=A[i]<=k,A[i] ∈ R)。现求分配权值后树的直径的最小值。

树的直径:树上最远的两点的路径权值和。




输入描述:

n k

接下来的n-1行,每行包括u和v,表示结点u和v相连

2<=n<=100000,n∈Z+

0<=k<=1000000000,k∈Z

1<=u, v<=n, f[i] ∈ Z


输出描述:

分配权值后树的直径的最小值,保留6位小数

示例1

输入

复制
2 10
1 2

输出

复制
10.000000

说明

最短情况也是唯一情况,1-2这条边赋予权值10,直径为10

备注: