#arc128c. [arc128_c]Max Dot

[arc128_c]Max Dot

题目描述

给定整数 NN, MM, SS,以及一个 NN 个整数的序列 A=(A1,A2,cdots,AN)A=(A_1,A_2,\\cdots,A_N)

考虑构造一个满足以下条件的 NN 个非负实数的序列 x=(x1,x2,cdots,xN)x=(x_1,x_2,\\cdots,x_N)

  • $0 \\leq x_1 \\leq x_2 \\leq \\cdots \\leq x_N \\leq M$,
  • sum1leqileqNxi=S\\sum_{1 \\leq i \\leq N} x_i=S.

现在,定义 xx 的得分为 sum1leqileqNAitimesxi\\sum_{1 \\leq i \\leq N} A_i \\times x_i。求 xx 的最大可能得分。

约束条件

  • 1leqNleq50001 \\leq N \\leq 5000
  • 1leqMleq1061 \\leq M \\leq 10^6
  • 1leqSleqmin(NtimesM,106)1 \\leq S \\leq \\min(N \\times M,10^6)
  • 1leqAileq1061 \\leq A_i \\leq 10^6
  • 输入中的所有值都是整数。

输入

从标准输入中以以下格式给出输入:

NN MM SS A1A_1 A2A_2 cdots\\cdots ANA_N

输出

输出答案。如果答案的绝对误差或相对误差不超过 10610^{-6},则认为输出正确。


示例输入 1

3 2 3
1 2 3

示例输出 1

8.00000000000000000000

最优的选择是 x=(0,1,2)x=(0,1,2)


示例输入 2

3 3 2
5 1 1

示例输出 2

4.66666666666666666667

最优选择是 x=(2/3,2/3,2/3)x=(2/3,2/3,2/3)


示例输入 3

10 234567 1000000
353239 53676 45485 617014 886590 423581 172670 928532 312338 981241

示例输出 3

676780145098.25000000000000000000