N, K = list(map(int, input().split()))

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

P_sum = [0]

for p in P:

    P_sum.append(P_sum[-1] + p)



max_sum, max_P = 0, None

for i in range(N - K + 1):

    if max_sum < P_sum[i + K] - P_sum[i]:

        max_sum = P_sum[i + K] - P_sum[i]

        max_P = P[i:i + K]



print((sum([(p * (p + 1) // 2) / p for p in max_P])))

N, K = list(map(int, input().split()))

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

P_sum = [0]

for p in P:

    P_sum.append(P_sum[-1] + (p + 1) / 2)



print((max([P_sum[i + K] - P_sum[i] for i in range(N - K + 1)])))

N, K = list(map(int, input().split()))
P = list(map(int, input().split()))
P_sum = [0]
for p in P:
    P_sum.append(P_sum[-1] + p)
max_sum, max_P = 0, None
for i in range(N - K + 1):
    if max_sum < P_sum[i + K] - P_sum[i]:
        max_sum = P_sum[i + K] - P_sum[i]
        max_P = P[i : i + K]
print((sum([(p * (p + 1) // 2) / p for p in max_P])))

N, K = list(map(int, input().split()))
P = list(map(int, input().split()))
P_sum = [0]
for p in P:
    P_sum.append(P_sum[-1] + (p + 1) / 2)
print((max([P_sum[i + K] - P_sum[i] for i in range(N - K + 1)])))

-    P_sum.append(P_sum[-1] + p) -max_sum, max_P = 0, None -for i in range(N - K + 1): -    if max_sum < P_sum[i + K] - P_sum[i]: -        max_sum = P_sum[i + K] - P_sum[i] -        max_P = P[i : i + K] -print((sum([(p * (p + 1) // 2) / p for p in max_P]))) +    P_sum.append(P_sum[-1] + (p + 1) / 2) +print((max([P_sum[i + K] - P_sum[i] for i in range(N - K + 1)])))