memo = [0] * 200001 
def kitaichi(kazu):
    global memo
    ans = 0
    if memo[kazu] == 0:
        for i in range(1,kazu+1):
            ans += i * (1 / kazu)
        memo[kazu] = ans
    return memo[kazu]

n,k = map(int,input().split())
p = list(map(int,input().split()))
ans = 0
max_p = 0
for j in range(k):
    ans += kitaichi(p[j])
#print(ans)
max_p = ans
for i in range(n-k):
    #print(ans,kitaichi(p[i+k]),kitaichi(p[i]))
    ans = ans + kitaichi(p[i+k]) - kitaichi(p[i])
    #print(ans)
    max_p = max(ans,max_p)
print(max_p) memo = [0] * 200001 memo [0] * 200001 [0] 0 200001 def kitaichi(kazu):
    global memo
    ans = 0
    if memo[kazu] == 0:
        for i in range(1,kazu+1):
            ans += i * (1 / kazu)
        memo[kazu] = ans
    return memo[kazu] kitaichi global memo ans = 0 ans 0 if memo[kazu] == 0:
        for i in range(1,kazu+1):
            ans += i * (1 / kazu)
        memo[kazu] = ans
     memo[kazu] == 0 memo[kazu] memo kazu 0 for i in range(1,kazu+1):
            ans += i * (1 / kazu)
         i range(1,kazu+1) range 1 kazu+1 kazu 1 ans += i * (1 / kazu) ans i * (1 / kazu) i 1 / kazu 1 kazu memo[kazu] = ans memo[kazu] memo kazu ans return memo[kazu] memo[kazu] memo kazu kazu kazu n,k = map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split k p = list(map(int,input().split())) p list(map(int,input().split())) list map(int,input().split()) map int input().split() ().split () input split ans = 0 ans 0 max_p = 0 max_p 0 for j in range(k):
    ans += kitaichi(p[j])
#print(ans) j range(k) range k ans += kitaichi(p[j]) ans kitaichi(p[j]) kitaichi p[j] p j max_p = ans max_p ans for i in range(n-k):
    #print(ans,kitaichi(p[i+k]),kitaichi(p[i]))
    ans = ans + kitaichi(p[i+k]) - kitaichi(p[i])
    #print(ans)
    max_p = max(ans,max_p) i range(n-k) range n-k n k ans = ans + kitaichi(p[i+k]) - kitaichi(p[i]) ans ans + kitaichi(p[i+k]) - kitaichi(p[i]) ans + kitaichi(p[i+k]) ans kitaichi(p[i+k]) kitaichi p[i+k] p i+k i k kitaichi(p[i]) kitaichi p[i] p i max_p = max(ans,max_p) max_p max(ans,max_p) max ans max_p print(max_p) print max_p max_p = 0 0 max_p memo = [0] * 200001 [0] * 200001 memo k = map(int,input().split()) map(int,input().split()) k max_p = ans ans max_p p = list(map(int,input().split())) list(map(int,input().split())) p ans = 0 0 ans max_p = max(ans,max_p) max(ans,max_p) max_p def kitaichi(kazu):
    global memo
    ans = 0
    if memo[kazu] == 0:
        for i in range(1,kazu+1):
            ans += i * (1 / kazu)
        memo[kazu] = ans
    return memo[kazu] def kitaichi(kazu):
    global memo
    ans = 0
    if memo[kazu] == 0:
        for i in range(1,kazu+1):
            ans += i * (1 / kazu)
        memo[kazu] = ans
    return memo[kazu] kitaichi ans = ans + kitaichi(p[i+k]) - kitaichi(p[i]) ans + kitaichi(p[i+k]) - kitaichi(p[i]) ans n,k = map(int,input().split()) map(int,input().split()) n ans += kitaichi(p[j]) kitaichi(p[j]) ans
memo = [0] * 200001 
def kitaichi(kazu):
    global memo
    ans = 0
    if memo[kazu] == 0:
        for i in range(1,kazu+1):
            ans += i * (1 / kazu)
        memo[kazu] = ans
    return memo[kazu]

n,k = map(int,input().split())
p = list(map(int,input().split()))
ans = 0
max_p = 0
for j in range(k):
    ans += kitaichi(p[j])
#print(ans)
max_p = ans
for i in range(n-k):
    #print(ans,kitaichi(p[i+k]),kitaichi(p[i]))
    ans = ans + kitaichi(p[i+k]) - kitaichi(p[i])
    #print(ans)
    max_p = max(ans,max_p)
print(max_p)