#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 100010;
int n, m;
long long w[N], f[N];
bool check(int x)
{
for (int i = 1; i <= n; i++) f[i] = w[i] - x;
for (int i = 1; i <= n; i++) f[i] = f[i] + f[i - 1];
int mini = 1e9;
for (int i = m; i <= n; i++) {
mini = mini > f[i - m] ? f[i - m] : mini;
if (f[i] - mini >= 0) return true;
}
return false;
}
int find()
{
int l = 0, r = 2000010;
while (l + 1 < r) {
int mid = l + r >> 1;
if (check(mid)) l = mid;
else r = mid;
}
return l;
}
int main()
{
cin >> n >> m;
for (int i = 1; i <= n; i++) cin >> w[i], w[i] *= 1000;
printf("%d", find());
return 0;
}