#include<iostream>
#include<cstdio>
#include<cmath>
#include<bitset>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<vector>
#include<queue>
#include<set>
#include<map>
using namespace std;
#define maxn 1010
#define re register
int n,m;
int dp[maxn][maxn][3];
int a[maxn];
signed main()
{
cin>>n>>m;
for(re int i=1;i<=n;++i) cin>>a[i];
for(re int i=1;i<=n;++i)
for(re int j=0;j<=m;++j)
if(j&1)
{
dp[i][j][0]=max(dp[i-1][j-1][1],dp[i-1][j][0]);
if(a[i]==2) dp[i][j][0]++;
}
else
{
dp[i][j][1]=max(dp[i-1][j-1][0],dp[i-1][j][1]);
if(a[i]==1) dp[i][j][1]++;
}
int ans=0;
for(re int i=0;i<=m;++i) ans=max(ans,max(dp[n][i][1],dp[n][i][0]));
cout<<ans;
return 0;
}
如果加上#define int long long的话就全WA了,萌新表示不懂qwq