AT_tkppc4_2_g 平均レーティング

题目描述

一个社团中有一名社长和 $N$ 名社员。社长和社员们都参加了 AtCoder 的比赛,社长的 Rating 是 $A$,第 $i$ 名社员的 Rating 是 $a_i$。 为了让社团更强大,社长决定对除他以外的社员们执行几次以下操作: - **操作 1:选择一名社员进行训练。** 每次训练后该社员的 Rating 增加 $b_i$,社长的体力下降 $c_i$。 - **操作 2:选择一名社员,施加压力令其退社。** 让社员 $i$ 退社会使社长的体力下降 $d_i$。 社长当前的体力为 $K$,他希望能够在自己的体力保持非负。请求出,在社长执行完所有操作之后,包括社长在内的所有社团成员的 Rating 的平均值的最大值。

输入格式

第一行输入两个整数 $N,K$。 第二行输入一个整数 $A$。 第三行到第 $(N+2)$ 行,第 $(i+2)$ 行输入四个整数 $a_i,b_i,c_i,d_i$。

输出格式

一行一个实数,Rating 的最大平均值。请将误差控制在 $10^{-4}$ 以下。 ### 输入输出样例 #### 输入 #1 ``` 3 200 2804 2416 20 30 80 2269 80 20 80 2115 30 40 70 ``` #### 输出 #1 ``` 2656.33333 ``` #### 输入 #2 ``` 2 170 1 30 1 10 50 20 30 50 50 ``` #### 输出 #2 ``` 47.66667 ``` #### 输入 #3 ``` 4 300 4089 2800 20 30 40 3200 30 40 50 3600 30 50 60 4000 20 70 80 ``` #### 输出 #3 ``` 4089.00000 ```

说明/提示

#### 样例 #1 解释 先让社员 $3$ 退社,然后训练社员 $2$ 六次,总共耗费体力 $70+120=190$,社员 $2$ 的 Rating 涨到 $2749$。 #### 样例 #2 解释 社长可以训练比他 Rating 高的社员。 #### 样例 #3 解释 让社员全部退社,只剩社长一个人时的平均 Rating 最大。 #### 数据规模与约定 本题满分 $700$ 分。 对于全部测试点,保证 $1\le N,K\le 1500$,$1\le A,a_i,b_i\le 10^9$,$1\le c_i,d_i\le K$($1\le i\le N$)。 **本题设有子任务。** - 对于本题前 $300$ 分,$N,K\le 500$; - 对于本题后 $400$ 分,无特殊限制。