雙倍經驗題。。。 -->1750
dp!!
7分鐘內共掉落7個蘋果一一第1個從第2棵樹上掉落,接下來的2個蘋果從第1棵樹上掉落,再接下來的2個從第2棵樹上掉落,最後2個從第1棵樹上掉落. 貝茜不移動直到接到從第1棵樹上掉落的兩個蘋果,然後移動到第2棵樹下,直到接到從第2棵
樹上掉落的兩個蘋果,最後移動到第1棵樹下,接住最後兩個從第1棵樹上掉落的蘋果.這樣貝茜共接住6個蘋果.
Gold
#include<cstdio>
int max(int a,int b){return a>b?a:b;}
int t,w,dp[1010][33][2],n[1010],ans;
int main()
{
scanf("%d%d",&t,&w);
for(int i=1;i<=t;i++) scanf("%d",&n[i]);
for(int i=1;i<=t;i++)
{
dp[i][0][0]=dp[i-1][0][0]+(n[i]==1);
dp[i][0][1]=dp[i-1][0][1]+(n[i]==2);
for(int j=1;j<=w;j++)
{
dp[i][j][0]=max(dp[i-1][j-1][1],dp[i-1][j][0])+(n[i]==1);
dp[i][j][1]=max(dp[i-1][j-1][0],dp[i-1][j][1])+(n[i]==2);
ans=max(ans,max(dp[i][j][0],dp[i][j][1]));
}
}
printf("%d",ans);
}