ans
chenyining
2022-11-26 9:30:47
2023-07-27 14:05:09
26
返回题目
#include<bits/stdc++.h>
#define int long long
using namespace std;
int a[1010];
int f[1010][2][1010];
signed main(){
int n,k;
scanf("%lld%lld",&n,&k);
for(int i=1;i<=n;i++){
scanf("%lld",&a[i]);
}
if(n/2+1<k){
printf("NO");
return 0;
}
for(int i=0;i<=n;i++){
for(int j=0;j<=k;j++){
f[i][0][j]=f[i][1][j]=-1e16;
}
}
f[1][1][1]=a[1];
f[1][0][0]=0;
for(int i=2;i<=n;i++){
for(int j=0;j<=k;j++){
f[i][0][j]=max(f[i-1][0][j],f[i-1][1][j]);
if(j!=0)
f[i][1][j]=f[i-1][0][j-1]+a[i];
}
}
cout<<max(f[n][0][k],f[n][1][k]);
return 0;
}
{{ vote && vote.total.up }}