题库练习 Three-level Laser
← 上一题 下一题 →

A11661 | Three-level Laser

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

An atom of element X can exist in $n$ distinct states with energies $E_{1}<E_{2}<...<E_{n}$ . Arkady wants to build a laser on this element, using a three-level scheme. Here is a simplified description of the scheme.

Three distinct states $i$ , $j$ and $k$ are selected, where $i<j<k$ . After that the following process happens:

1. initially the atom is in the state $i$ ,
2. we spend $E_{k}-E_{i}$ energy to put the atom in the state $k$ ,
3. the atom emits a photon with useful energy $E_{k}-E_{j}$ and changes its state to the state $j$ ,
4. the atom spontaneously changes its state to the state $i$ , losing energy $E_{j}-E_{i}$ ,
5. the process repeats from step 1.

Let's define the energy conversion efficiency as ![](/uploads/acgo/image/f50e1c64f7c2e873_76d03bb0e080.jpeg), i. e. the ration between the useful energy of the photon and spent energy.

Due to some limitations, Arkady can only choose such three states that $E_{k}-E_{i}<=U$ .

Help Arkady to find such the maximum possible energy conversion efficiency within the above constraints.

输入格式

The first line contains two integers $n$ and $U$ ( $3<=n<=10^{5}$ , $1<=U<=10^{9}$ ) — the number of states and the maximum possible difference between $E_{k}$ and $E_{i}$ .

The second line contains a sequence of integers $E_{1},E_{2},...,E_{n}$ ( $1<=E_{1}<E_{2}...<E_{n}<=10^{9}$ ). It is guaranteed that all $E_{i}$ are given in increasing order.

输出格式

If it is not possible to choose three states that satisfy all constraints, print -1.

Otherwise, print one real number $η$ — the maximum possible energy conversion efficiency. Your answer is considered correct its absolute or relative error does not exceed $10^{-9}$ .

Formally, let your answer be $a$ , and the jury's answer be $b$ . Your answer is considered correct if ![](/uploads/acgo/image/7f325c0d16a08fd0_8c1c91b0bbd1.jpeg).

输入输出样例

输入 #1
4 4
1 3 5 7
输出 #1
0.5
输入 #2
10 8
10 13 15 16 17 19 20 22 24 25
输出 #2
0.875
输入 #3
3 1
2 5 10
输出 #3
-1
C++ 编辑器
输入
输出