#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int maxn=1e6+5;
const int INF=1e8+5;

int n,k;

int A[maxn],B[maxn];

int mi[maxn],sum[maxn];
bool check(int x)
{
	for(int i=1;i<=n;++i)
	  if(A[i]>=x) B[i]=1;
	  else B[i]=-1;
	for(int i=1;i<=n;++i){
		sum[i]=sum[i-1]+B[i];
		mi[i]=min(sum[i],mi[i-1]);
		if(i>=k&&sum[i]-mi[i-k]>0) return 1;
	}
	return 0;
}
void binary()
{
	int l=1,r=2e5,mid=0;
	while(l<r){
		mid=(l+r+1)>>1;
		if(check(mid)) l=mid;
		else r=mid-1;
	}
	printf("%d",l);
}
int main()
{
	scanf("%d%d",&n,&k);
	for(int i=1;i<=n;++i) scanf("%d",&A[i]);
	binary();
	return 0;
}