标签:
cow一共有N分钟,每分钟可以选择跑步(疲劳度+1),或者休息(疲劳度-1),疲劳度有上限m,如果选择休息,必须休息到疲劳度为0才可以继续跑
问最后一分钟过完,且疲劳度为0,所能跑的最远距离
dp[i][j]:第i分钟过完疲劳度为j的能跑的最远距离
#include "stdio.h"
#include "string.h"
int dp[10010][510];
int Max(int a,int b)
{
if (a<b) return b;
else return a;
}
int main()
{
int n,m,i,j,x;
while (scanf("%d%d",&n,&m)!=EOF)
{
memset(dp,0,sizeof(dp));
for (i=1;i<=n;i++)
{
scanf("%d",&x);
dp[i][0]=dp[i-1][0];
for (j=1;j<=m;j++)
{
if (j<i) dp[i][0]=Max(dp[i][0],dp[i-j][j]);
dp[i][j]=dp[i-1][j-1]+x;
}
}
printf("%d\n",dp[n][0]);
}
return 0;
}
标签:
原文地址:http://blog.csdn.net/u011932355/article/details/45484877