#include<iostream>#include<cstdio>usingnamespace std;constint MAXN =100000+5;int N, F;double num[MAXN];double sum[MAXN];double rmaxsum[MAXN];double l =9999999, r =0;boolqualify(double tans){for(int i = N; i >=1; i--)
rmaxsum[i]=max(num[i]- tans, rmaxsum[i +1]+ num[i]- tans);for(int i =1; i <= N - F +1; i++){if(sum[i + F -1]- sum[i -1]>= F * tans)returntrue;if(sum[i + F -1]- sum[i -1]- F * tans + rmaxsum[i + F]>=0)returntrue;}returnfalse;}intmain(){
cin >> N >> F;for(int i =1; i <= N; i++){scanf("%lf",&num[i]);
sum[i]= sum[i -1]+ num[i];
r =max(r, num[i]);
l =min(l, num[i]);}while(l < r -0.0001){double mid =(r + l)/2;if(qualify(mid))
l = mid;else
r = mid;}
cout <<int(r *1000)<< endl;return0;}