Photo by CollegeDegrees360 cc by-sa 2.0
考试时间到了!当然,你之前花了太多时间参加各种编程比赛,没怎么好好学习。现在你有 $N$ 门科目需要复习,但在期末考试前只有有限的时间。你必须决定如何为每门科目分配复习时间,以使所有 $N$ 门科目的平均成绩最大化。
作为一名经验丰富的编程竞赛选手,你立刻意识到可以通过编写计算机程序来确定最优的时间分配方案。当然,你决定忽略解决这个问题所花费的时间(也就是拖延的时间)。
你总共有 $T$ 小时可以分配给不同的科目。对于每个科目 $i$,复习 $t$ 小时后的预期成绩由函数 $f_i(t) = a_i t^2 + b_i t + c_i$ 给出,该函数满足以下性质:
- $f_i(0) \ge 0$;
- $f_i(T) \le 100$;
- $a_i < 0$;
- $f_i(t)$ 在区间 $[0, T]$ 上是单调不减函数。
你可以将任意分数小时(即非整数小时)分配给某个科目。你在所有 $N$ 门科目上能获得的最高平均成绩是多少?
输入格式
每个输入的第一行包含两个由空格隔开的整数 $N$($1 \le N \le 10$)和 $T$($1 \le T \le 240$)。
接下来的 $N$ 行,每行包含三个参数 $a_i$、$b_i$ 和 $c_i$,用于描述函数 $f_i(t)$。这三个参数由空格隔开,且均为保留 4 位小数的实数。它们的绝对值均不超过 100。
输出格式
在单行中输出你能获得的最高平均成绩。与标准答案误差在 0.01 以内的答案将被接受。
样例
输入样例 1
2 96 -0.0080 1.5417 25.0000 -0.0080 1.5417 25.0000
输出样例 1
80.5696000000
输入样例 2
3 34 -0.0657 4.4706 23.0000 -0.0562 3.8235 34.0000 -0.0493 3.3529 42.0000
输出样例 2
70.0731488027