分享一个很好想的做法
查看原帖
分享一个很好想的做法
1039406
mayike楼主2023/10/15 00:09
#include<bits/stdc++.h>
using namespace std;
int n,m,a[10005],sum[10005],f[10005];
int main(){
    cin>>n>>m;for(int i=1;i<=n;i++)cin>>a[i],sum[i]=sum[i-1]+a[i];
    for(int i=1;i<=n;i++)
        for(int j=1;j<=min(i/2,m);j++)f[i]=max(f[i],f[i-j*2]+sum[i-j]-sum[i-2*j]),f[i]=max(f[i-1],f[i]);
    cout<<f[n];
	return 0;
}

emm,反正题解的那些我想不出来

2023/10/15 00:09
加载中...