90pts
查看原帖
90pts
885753
_Lightning_楼主2024/4/4 20:54

90pts90pts求调

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int maxn=100010;
int n,k,a[maxn],sum[maxn],dp[maxn];
signed main(){
	scanf("%lld%lld",&n,&k);
	for(int i=1;i<=n;i++){
		scanf("%lld",&a[i]);
		sum[i]=sum[i-1]+a[i];
	}
	for(int i=1;i<=n+1;i++){
		for(int j=max(1ll*0,i-k-1);j<i;j++){
			dp[i]=max(dp[i],dp[j]+sum[i-1]-sum[j]);
		}
	}
	printf("%lld\n",dp[n+1]);
	return 0;
}	
2024/4/4 20:54
加载中...