wpgwhpg-LMLPHP

wpgwhpg-LMLPHP

wpgwhpg-LMLPHP

wpgwhpg-LMLPHP

wpgwhpg-LMLPHP

//f[i][j]就是第is时wpgwhpg的疲劳度是j,那么我们就可以就ta这1s是否休息进行讨论
#include<bits/stdc++.h>
using namespace std;
const int M = ;
int n,m;
int a[M],f[M][];
int main()
{
cin>>n>>m;
for(int i=;i<=n;i++)
cin>>a[i];
for(int i=;i<=n;i++)
for(int j=m;j>=;j--)
{
if(i+j<=n)//判断越界,不能在n秒内恢复为0
f[i+j][]=max(f[i+j][],f[i-][j+]);//这里是指恢复体力,不走路所以距离不变,恢复后所走的 路是之前所走的距离
if(j==)
f[i][j]=max(f[i][j],f[i-][]);//这里是指疲劳度为0的时候,他休息的情况可能是上一秒在休息,这一秒也在休息
else
f[i][j]=max(f[i][j],f[i-][j-]+a[i]);//如果选择走的话,疲劳度增加1点,第is所走的距离就应该是上f[上1秒][每1秒的疲劳度]+这1s能走的距离
}
cout<<f[n][]<<endl;
return ; }
/*
5 3
5
3
5
2
8 10*/
04-26 07:40