标签:
Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 9978 | Accepted: 4839 |
Description
Input
Output
Sample Input
7 2 2 1 1 2 2 1 1
Sample Output
6
Hint
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <algorithm> 5 using namespace std; 6 int main() 7 { 8 int i,j,t,n,Max=0; 9 int dp[1000+10][35]; 10 int a[1000+10]; 11 freopen("in.txt","r",stdin); 12 scanf("%d%d",&t,&n); 13 for(i=1;i<=t;i++) 14 scanf("%d",&a[i]); 15 for(i=1;i<=t;i++) 16 { 17 dp[i][0]=dp[i-1][0]+2-a[i]; //dp[i][j]={第i分钟走了j步所摘到的苹果} 18 for(j=1;j<=n;j++) 19 { 20 if(j%2) //如果为奇数,说明走到了2树 21 dp[i][j]=max(dp[i-1][j],dp[i-1][j-1])+a[i]-1; //取前一分钟的最大值 22 else 23 dp[i][j]=max(dp[i-1][j],dp[i-1][j-1])+2-a[i]; 24 } 25 } 26 for(i=0;i<=n;i++) 27 Max=max(dp[t][i],Max); 28 printf("%d\n",Max); 29 30 }
标签:
原文地址:http://www.cnblogs.com/a1225234/p/5171090.html