#pragma G++ optimize(2)#pragma GCC optimize(2)#include<bits/stdc++.h>usingnamespace std;#define _rep(i, a, b) for(int i = (a); i <= (b); ++i)#define _rev(i, a, b) for(int i = (a); i >= (b); --i)#define _for(i, a, b) for(int i = (a); i <(b); ++i)#define _rof(i, a, b) for(int i = (a); i >(b); --i)#define maxn 100009#define maxm 109#define ll long long#define met(a,b) memset((a),(b), sizeof(a))#define db double#define eps 1e-5#define mod 105usingnamespace std;int n, len;
db a[maxn], sum[maxn];boolvalid(db x){
db ans =-1e10, min_val =0;_rep(i,1, n)sum[i]= sum[i -1]+ a[i]- x;_rep(i, len, n){
min_val =min(min_val, sum[i - len]);
ans =max(ans, sum[i]- min_val);}return ans >0;}intmain(){scanf("%d%d",&n,&len);_rep(i,1, n)scanf("%lf",&a[i]);
db l =0, r =2000;//rt,定义域是[0, 2000]while(r - l >= eps){
db mid =(l + r)/2;valid(mid)? l = mid : r = mid;}
cout <<int(r *1000)<< endl;return0;}