A96793.Welcome24ever 和巧克力

省选/NOI-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

Welcome24ever 买到一块 nn 维“单位立方体”巧克力(每条边长度都是 11)。这块巧克力在第 ii 个维度上被等分成 aia_i 份,因此整块巧克力一共被划分成 a1a2ana_1 a_2 \cdots a_n 个小块;每个小块在第 ii 维的长度是 1ai\frac{1}{a_i},体积是 1a1a2an\frac{1}{a_1 a_2 \cdots a_n}

Welcome24ever 和朋友们想把巧克力切成至少 kk 块,并且希望最小那一块的体积尽量大。切割规则如下:

  • 只能沿着原本小块的分割面切(也就是只能在“格子线”上切)。
  • 每一次切割必须选择某一个维度,并且这刀要贯穿整个巧克力。
  • 所有切割结束后,才把巧克力分成小块。

更形式化地说:你需要选择整数 b1,b2,,bnb_1,b_2,\ldots,b_n,满足 1biai1 \le b_i \le a_i,表示第 ii 个维度上把巧克力切成 bib_i 份,则总块数为 b1b2bnb_1 b_2 \cdots b_n,要求
b1b2bnkb_1 b_2 \cdots b_n \ge k

在这种切法下,最小的一块在第 ii 维至少会包含 aibi\left\lfloor \frac{a_i}{b_i} \right\rfloor 个小段,所以最小块体积为
(i=1naibi)1a1a2an\left(\prod_{i=1}^n \left\lfloor \frac{a_i}{b_i} \right\rfloor\right)\cdot \frac{1}{a_1 a_2 \cdots a_n}

你要最大化的量是:
(i=1naibi)1a1a2ank\left(\prod_{i=1}^n \left\lfloor \frac{a_i}{b_i} \right\rfloor\right)\cdot \frac{1}{a_1 a_2 \cdots a_n}\cdot k

输入格式

第一行包含两个整数 n,kn,k
第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\ldots,a_n

输出格式

输出一个实数,表示最大可能的“最小块体积乘以 kk”,要求绝对或相对误差不超过 10910^{-9}
如果无论怎么切都无法分成至少 kk 块,输出 00

输入输出样例

  • 输入#1

    1 2
    5

    输出#1

    0.8
  • 输入#2

    2 6
    5 10

    输出#2

    0.72
  • 输入#3

    2 7
    4 4

    输出#3

    0.875
    
  • 输入#4

    2 3
    4 5

    输出#4

    0.75
    
  • 输入#5

    4 444
    57 179 239 2

    输出#5

    0.97557326850704739751
  • 输入#6

    2 5
    2 2

    输出#6

    0

说明/提示

数据范围

  • 1n1001 \le n \le 100
  • 1k1071 \le k \le 10^7
  • 1ai1071 \le a_i \le 10^7

样例解释

  • 样例 1:取 b1=2b_1=2,最小段数是 52=2\left\lfloor\frac{5}{2}\right\rfloor=2,最小块体积是 25\frac{2}{5},答案 252=0.8\frac{2}{5}\cdot 2=0.8
  • 样例 2:可以切成 b1=2,b2=3b_1=2,b_2=3,最小块体积是 5/2510/310=25310\frac{\lfloor5/2\rfloor}{5}\cdot\frac{\lfloor10/3\rfloor}{10}=\frac{2}{5}\cdot\frac{3}{10},答案乘上 k=6k=6 得到 0.720.72
  • 样例 6:最多只能分成 22=42\cdot 2=4 块,小于 k=5k=5,所以输出 00
首页