P14763 [Opoi 2025] CCD 的赌局
题目背景
CCD 经营的赌场濒临倒闭,他只好玩点新花样。
题目描述
**下方有形式化题意。**
CCD 决定通过作弊的方式赢取利润,他邀请到了两个考场读错题此时痛不欲生的 Oier 小 L 和小 T 作为内部人员。
具体的,CCD 决定让小 L 和小 T 玩 $n$ 轮,每轮恰好有一人获胜。
CCD 为了借此机会捞一笔,大放广告吸引了一大群人前来下注(赌每一轮谁赢),为了让赌博看上去更有吸引力,所以 CCD 决定使**小 L 胜的单位返还金额与小 T 胜的单位返还金额之和为 $T$**。并且为了赚更多的钱,CCD 可以在中间某两轮之间更改单位返还金额,但是要求双方的总和仍然为 $T$,并且只能更改一次。但可惜的是,内部人员小 L 和小 T 早已和其他人私底下串通好了,**在每一轮中,他们总是会选择返还金额更大的结果**。(比如若小 L 在这一轮中胜利获得的返还金额比小 T 在这一轮中胜利获得的返还金额更大,小 L 和小 T 就会操控赌局结果使得小 L 获胜)
现在 CCD 通过某些手段知道了每一轮双方的下注金额,记为 $a_i,b_i$。他想要通过设定两次(或一次)的返还金额,使得他最后返还的金额最小,并求出这个值。
由于 CCD 数学不好,于是他向你求助。
> **单位返还金额和返还金额**:如果这一轮小 L 的单位返还金额为 $a$,小 T 的单位返还金额为 $b$,其他人押了 $x$ 块钱赌小 L 胜,$y$ 块钱赌小 L 胜,如果小 L 获胜那么返还金额就会增加 $a\cdot x$ 块钱,但是如果结果小 L 输了,返还金额就会增加 $b\cdot y$ 块钱。
### 形式化题意
给定 $n$,$T$,以及两个实数序列 $a_{1\dots n}$,$b_{1\dots n}$。
你可以任意设定 $4$ 个非负实数 $A_1,B_1,A_2,B_2$ 以及一个整数 $k \in [0,n]$,使得他们满足 $T=A_1+B_1=A_2+B_2$。求如下式子的最小值:
$$\sum_{i=1}^{k}\max(A_1\times a_i, B_1 \times b_i) + \sum_{i=k+1}^{n}\max(A_2\times a_i, B_2 \times b_i)$$
特别的,当 $s > e$ 时,定义 $\sum\limits_{i=s}^{e} f(i)$ 的值为 $0$。
输入格式
第一行一个整数 $n$,一个非负实数 $T$。
接下来 $n$ 行,第 $i$ 行两个非负实数 $a_i,b_i$,表示第 $i$ 轮对小 L 和小 T 下的注的和。
输出格式
一行一个实数表示返还金额的最小值,四舍五入到小数点后二位。
说明/提示
### 样例解释
在第一轮之前时,设定小 L,小 T 的单位返还金额分别为 $0.75$,$0.25$。
在第一轮以后,更改小 L,小 T 的单位返还金额分别为 $0.25$,$0.75$。
此时返还金额有最小值 $\max(4\times 0.75,12\times 0.25)+\max(12\times 0.25,4\times 0.75)=6$。
---
### 数据范围与约定
**本题采用捆绑测试。**
$$
\def\arraystretch{1.2}
\begin{array}{|c|c|c|}
\hline
\begin{array}{c}
\tt{subtask}\\\hline
1\\\hline
2\\\hline
3\\\hline
\end{array}
&
\begin{array}{c}
n\\\hline
\le 10\\\hline
\le 10^{3}\\\hline
\le 10^{5}\\
\end{array}
&
\begin{array}{c}
\tt{pts}\\\hline
10\\\hline
40\\\hline
50\\\hline
\end{array}
\\\hline
\end{array}
$$
对于所有数据,$2\le n \le 10^{5}$,$0 \le T,a_i,b_i \le 100$,且 $\forall i \in [1,n],0 < a_i + b_i$,输入文件中所有实数精确到两位小数。