#P15069. [UOI 2024 II Stage] Disco

    ID: 15101 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 5 上传者: 标签>数学二分2024Special Judge分数规划UOI(乌克兰)

[UOI 2024 II Stage] Disco

说明

Anton 作为一名学校教师,正在为孩子们组织一场迪斯科舞会。他的任务是挑选一份播放列表,让每个人都对庆祝活动兴奋不已。但 Anton 有一个庞大的歌曲数据库,遗憾的是,迪斯科舞会的时间有限 :(。

具体来说,数据库中有 nn 首歌曲。每首歌曲可以用两个整数 tit_irir_i 来描述——歌曲的时长和评分。作为一名音乐爱好者,Anton 希望恰好选择 kk 首歌曲(即不少于 kk 首),以最大化评分总和与时长总和的比值。

更正式地说,设 SS 为歌曲集合,XSX \subseteq SX=k|X|=k 为已选入播放列表的歌曲子集。目标是最大化 $\displaystyle \frac{\sum_{i \in X} r_i}{\sum_{i \in X} t_i}$。换句话说,需要找出将在迪斯科舞会上播放的所有歌曲的 rir_i 之和,再找出将在迪斯科舞会上播放的所有歌曲的 tit_i 之和,并用前者除以后者。需要最大化这个数值。

请找出并输出可能的最大比值。

输入格式

  • 第一行包含两个整数 nnkk1kn1051 \le k \le n \le 10^5)——歌曲总数和需选入播放列表的歌曲数量。
  • 第二行包含 nn 个整数 rir_i1ri1051 \le r_i \le 10^5)。
  • 第三行包含 nn 个整数 tit_i1ti1051 \le t_i \le 10^5)。

输出格式

输出一个数字——最大比值。

只要你的答案的绝对误差或相对误差不超过 10410^{-4},即被视为正确。

形式化地说,设你的答案为 aa,标准的答案为 bb。当且仅当 abmax(1,b)104\frac{|a - b|}{\max{(1, |b|)}} \le 10^{-4} 时,你的答案会被接受。

2 2
1 2
2 3
0.600000
5 2
1 2 3 2 3
2 4 2 5 3
1.200000

提示

在第一个示例中,需要将两首歌曲加入播放列表。因此,比值为:

1+22+3=35=0.6\frac{1+2}{2+3}=\frac{3}{5}=0.6

在第二个示例中,最好选择第三首和第五首歌曲。因此,比值为:

3+32+3=65=1.2\frac{3+3}{2+3}=\frac{6}{5}=1.2

翻译由 DeepSeek V3 完成