#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[5000],f[5000];
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
f[i]=1e9;
int s1=0,s2=0;
for(int j=i;j>=1;j--){
if(a[j]==1)s1++;
if(a[j]==2)s2++; //往前扫时顺便统计1和2的个数
if(s1==0||s2==0||abs(s1-s2)<=m){
f[i]=min(f[i],f[j-1]+1); //求 最小 长度
}
}
}
cout<<f[n]<<"\n";
return 0;
}