atcoder#ARC128C. [ARC128C] Max Dot

[ARC128C] Max Dot

题目描述

整数 N,M,S N,M,S ,及び長さ N N の整数列 A=(A1,A2,,AN) A=(A_1,A_2,\cdots,A_N) が与えられます.

次の条件をすべて満たす長さ N N の非負実数x=(x1,x2,,xN) x=(x_1,x_2,\cdots,x_N) を作ることを考えます.

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

ここで,x x のスコアを 1  i  N Ai × xi \sum_{1\ \leq\ i\ \leq\ N}\ A_i\ \times\ x_i と定義します. x x のスコアとしてありうる最大の値を求めてください.

输入格式

入力は以下の形式で標準入力から与えられる.

N N M M S S A1 A_1 A2 A_2 \cdots AN A_N

输出格式

答えを出力せよ. 絶対誤差または相対誤差が 106 10^{-6} 以内であれば,正解と判定される.

题目大意

给定一个长度为 nn 的序列 aa。称 i=1npi=S\sum\limits_{i=1}^n p_i=S0p1p2pnm0\le p_1\le p_2\le \cdots \le p_n \le m 的序列 pp 为猴子数列。pip_i 可以为任意实数

maxi=1naipi\max\sum\limits_{i=1}^n a_ip_i,其中 pp 是一个猴子数列。

translated by

https://www.luogu.com.cn/user/367488

3 2 3
1 2 3
8.00000000000000000000
3 3 2
5 1 1
4.66666666666666666667
10 234567 1000000
353239 53676 45485 617014 886590 423581 172670 928532 312338 981241
676780145098.25000000000000000000

提示

制約

  • 1  N  5000 1\ \leq\ N\ \leq\ 5000
  • 1  M  106 1\ \leq\ M\ \leq\ 10^6
  • 1  S  min(N × M,106) 1\ \leq\ S\ \leq\ \min(N\ \times\ M,10^6)
  • 1  Ai  106 1\ \leq\ A_i\ \leq\ 10^6
  • 入力される値はすべて整数である

Sample Explanation 1

x=(0,1,2) x=(0,1,2) とするのが最適です.

Sample Explanation 2

x=(2/3,2/3,2/3) x=(2/3,2/3,2/3) とするのが最適です.