let n, k = stdin.ReadLine().Split() |> fun array -> int array.[0], int array.[1]
let pArray = stdin.ReadLine().Split() |> Array.map int

// 最大値を出すchunkはすぐに分かるので、まずはそれを求めてその後期待値を求める
pArray
|> Seq.windowed k
|> Seq.map (fun chunk -> chunk, chunk |> Seq.sum)
|> Seq.maxBy( fun (_, sum) -> sum)
|> fst
|> Seq.map (fun max -> 1, max)
|> Seq.map (fun (min, max) -> float ((min + max) * max) / 2.0 / float max)
|> Seq.sum
|> stdout.WriteLine
