luogu#P6733. 「Wdsr-2」间歇泉

    ID: 10743 远端评测题 1000~2000ms 128MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>2020二分答案Special JudgeO2优化

「Wdsr-2」间歇泉

题目背景

Problem Number: 08\textit{08}

题目描述

有一个间歇泉,冒出了 nn 杯水,由于一些原因,每杯水的温度、体积不同。第 ii 杯水的温度为 cic_i,体积为 aia_i

现在混合任意杯水,每混合两杯水都会得到一个新的温度值,求可能得到的第 kk 高的温度值(不计热量损失)。

你的答案建议至少保留小数点后 3\bm3 位(与标准答案之差在 102\bm{10^{-2}} 以内即视为通过)。

输入格式

第一行一个数 n,kn,k,意义如题述。

接下来 nn 行,每行两个数 ai,cia_i,c_i

输出格式

一行一个实数,表示混合后的水的第 kk 高温度。

5 1
1 5
4 2
5 3
2 3
1 4
4.500

提示

样例 1 说明

11 和第 55 杯水混合,得到 4.54.5 的温度值。可以发现,这是可能得到的最高水温。

样例 2

见题目附件中 pour2.in/pour2.ans\textbf{\textit{pour2.in/pour2.ans}}

数据规模与约定

本题采用捆绑测试。

  • Subtask 1 (10 pts)\textbf{Subtask 1}\text{ (10 pts)}1n101\le n\le 10
  • Subtask 2 (40 pts)\textbf{Subtask 2}\text{ (40 pts)}:保证 k=1k=1
  • Subtask 3 (50 pts)\textbf{Subtask 3}\text{ (50 pts)}:无特殊限制。
  • Subtask 4 (0 pts)\textbf{Subtask 4}\text{ (0 pts)}:Hack 数据。

对于 100%100\% 的数据,有 1n1051\le n\le 10^51kn×(n1)21\le k\le \dfrac{n \times (n - 1)}{2}1ai,ci1091\le a_i,c_i\le 10^9

子任务 2/3/4 时限 2 s\text{2 s},子任务 1 时限 1 s\text{1 s}

前置知识

对于两杯体积、温度分别为 (ai,ci),(aj,cj)(a_i,c_i),(a_j,c_j) 的水,混合后温度为:

T=aici+ajcjai+ajT=\dfrac{a_ic_i+a_jc_j}{a_i+a_j}

说明

本题数据采用 SvRan 生成,仅用时 3min3\min