#1218. 5.重建小镇

5.重建小镇

5.重建小镇

题目描述

一场地震把AA住的小镇摧毁了,AA决心重建家园。AA已经重建了nn个家,现在他希望能修建一些道路把它们连接起来。研究地形之后,AA发现可供修建的道路有mm条。碰巧的是,其他人最近也成立一个工程队,专门从事修复道路,但他们有自己的计划:工程队关注的是挣钱速度,即总利润和总施工时间的比值。AA和工程队达成了协议,工程队负责修建道路,将所有牧场连通,而AA需要支付ff元。每条道路都有自己的施工时间和建造成本。连接两个相同的牧场的道路可能有多条。保证所有的牧场必定是可连通的,不过也有可能一些道路的建造成本之和会超过ff。请帮助工程队选择修复哪些道路,才能使单位时间的利润最大?

输入格式

第一行三个整数nnmmff

第二行到第m+1m+1行,第i+1i+1行表示第ii条道路的信息。每行有四个整数uiu_iviv_icic_itit_i

uiu_iviv_i表示这条道路连接的牧场编号,cic_i表示修建道路的成本,tit_i表示道路修建所需要的时间。

输出格式

输出一个保留四位小数的浮点数,表示工程队能挣到的最大单位时间利润,如果工程队无钱可赚,则输出0.00000.0000

数据范围与提示

对于100%100\%的数据,保证1ui,vin4001 \leq u_i,v_i \leq n \leq 4001<m<100001 < m < 100001ci,ti,f2×1091 \leq c_i,t_i,f \leq 2 \times 10^9

样例

5 5 100
1 2 20 5
1 3 20 5
1 4 20 5
1 5 20 5
2 3 23 1
1.0625