D. 徐老师的混合羊腿

    传统题 2000ms 512MiB

徐老师的混合羊腿

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

徐老师最近获得了一个超级羊腿

这个羊腿特别特别大,但是由于放置的时间比较长,他发现这个羊腿已经有部分位置的品质不再那么好了

于是机制的他决定切割一下羊腿,保留下精华部分

为了方便理解,他作了一些定义:

  1. 将羊腿横放在桌上,从左向右以此分成 nn 个连续部分,其中第 ii 个部分的长度为 lenilen_i,羊腿品质为 pip_i
  2. 徐老师认为一段羊腿的 品质 可以简单理解成这段羊腿的 价值 / 羊腿的 长度,例如一段长度为 33 的羊腿,品质为 77,那么这段羊腿的价值即为 2121,反之同理,一段价值为 2121,长度为 33 的羊腿,品质可以看作是 77

现在徐老师想知道,他想保留一段 价值 在 [L,R][L,R] 范围内的羊腿,这段羊腿的最大品质是多少?

P.S.1 可以简单的理解为,徐老师会选择这个羊腿上的任意两个位置进行切割,保留中间连续的部分,这部分的羊腿总价值 / 总长度即为这段羊腿的品质

P.S.2 由于本题输入数据较大,建议使用以下读写方式

ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> n >> L >> R;
...

输入格式

输入第一行包含三个整数 n,L,Rn,L,R

输入第二行包含 nn 个整数,分别表示每一段羊腿的长度 lenilen_i

输入第三行包含 nn 个整数,分别表示每一段羊腿的品质 pip_i

输出格式

输出一个实数,表示最大的羊腿品质,保留到小数点后 66 位

数据范围

对于所有数据满足:$1 \leq n \leq 3 \times 10^5, 1 \leq len_i, p_i \leq 10^6, 1 \leq L \leq R \leq \sum{len_i * p_i}$

测试点编号 特殊性质
1∼41 \sim 4 1≤n,leni,pi≤101 \leq n, len_i, p_i \leq 10
5∼85 \sim 8 1≤n≤50001 \leq n \leq 5000
9∼129 \sim 12 1≤n≤1051 \leq n \leq 10^5
13∼2013 \sim 20 无

样例输入1

4 8 10
1 10 2 3
4 1 3 2

样例输出1

2.666667

样例解释1

可以把羊腿看成:

  • [0,1][0,1] 的是长度为 11,品质为 44 的一段
  • [1,11][1,11] 的是长度为 1010,品质为 11 的一段
  • [11,13][11,13] 的是长度为 22,品质为 33 的一段
  • [13,16][13,16] 的是长度为 33,品质为 22 的一段

最优切法是选取 [11,14][11,14],羊腿价值为 2∗3+1∗2=82 * 3 + 1 * 2 = 8,长度为 33,品质为 8/3=2.6666678/3=2.666667

2026暑假提高组模拟赛(5)

未参加
状态
已结束
规则
IOI
题目
4
开始于
2026-8-4 18:00
结束于
2026-8-14 18:00
持续时间
240 小时
主持人
参赛人数
20