#!/bin/python

def do(a, t, f, index):
    if index == 0:
        t[index] = a[index] / f[index]
        return

    t0 = t[index-1]

    if f[index] * t0 < a[index]:
        space_left = a[index] - f[index] * t0
        f[index] += f[index-1]
        t[index] = t0 + space_left / f[index]

    elif f[index] * t0 > a[index]:
        t[index] = a[index] / f[index]

    else:
        t[index] = t[index-1]
        f[index] += f[index-1]

    if index == len(a) - 1:
        print(t[index], end= ' ')

        

def solve():
    num, flow = map(int, input().split())

    array = list(map(int,input().split()))

    times = [0 for _ in range(num)] 
    flows = [flow for _ in range(num)] 

    for i in range(num):
        do(array, times, flows, i)

    print(max(times))

def main():
    try:
        while True:
            solve()
    except:
        pass

main()
