#include<bits/stdc++.h>
using namespace std;
int n,m;
const int mx=3e3+10;
int dp[mx],sum[mx][2];
int a[mx];
int main(){
cin>>n>>m;
memset(dp,0x3f,sizeof(dp));
dp[0]=0;
dp[1]=1;
for(int i=1;i<=n;i++){
cin>>a[i];
if(a[i]==1) sum[i][1]++;
else sum[i][0]++;
}
for(int i=2;i<=n;i++){
for(int j=i-1;j>=0;j--){
if(abs((sum[i][0]-sum[j][0])-(sum[i][1]-sum[j][1]))<=m||
(sum[i][0]-sum[j][0])==0||(sum[i][1]-sum[j][1])==0)
dp[i]=min(dp[i],dp[j]+1);
}
}
cout<<dp[n]<<endl;
}