红的愿望
题号:NC54302
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

......荒野的风,尘土里的残骸,群星下的嚎叫......红闻到了。那是狼的气味。红,加入狩猎。

众所周知, 红对其他鲁珀族的尾巴有一种特殊的执念。

她们都躲着红。红其实只是想......摸摸她们的尾巴。普罗旺斯的,德克萨斯的......红在她们身上,能闻到红喜欢的味道。

这天红又想去摸普罗旺斯的尾巴,但是普罗旺斯却躲得远远的,于是可怜的红只好自己一个人躲在房间里YY,他突然想到一个问题:

如果将所有鲁珀族的狗子视作有权值的节点,并在狗子间两两连带有权值的边以此构成一棵树 那么现在红要在这棵树上选出任意条边,且红希望边的总权值不小于给定的一个值 W ,同时,红不希望存在一只狗子同时出现在两条选出的边上,现在我们假设选出的边总权值为 tot_E ,选出的边上的两个狗子总权值为 tot_C ,那么在所有的选边方案中, tot_C/tot_E 的最大值是多少呢? 

现在红唯一的朋友就是刀客塔你了,请你帮红解决一下这个问题吧。

输入描述:

第一行两个整数 n 和 W ,表示鲁珀族干员个数和总边权和的最小值

第二行 n 个数,表示干员的权值 a_i

接下来 n-1 行,每行三个正整数 u_i,v_i,w_i 表示两名狗子 u_i,v_i 间存在权值为 w_i 的边

输出描述:

一个实数表示答案,含义如题,按四舍五入标准保留两位小数
示例1

输入

复制
5 7
1 3 2 5 4
1 3 3
2 3 6
4 5 4
3 5 5

输出

复制
1.71

说明

现在树上有 5 只狗子,我们可以选出 (1,3) 和 (4,5) 这两条边,那么答案就是 (1+2+5+4)/(3+4)=1.714... 保留两位小数即 1.71

备注:

n<=500, ai <= 1,000,000, wi <= W <= 100