Lazy_Durant @ 2024-03-04 20:14:14
找半天没看出什么问题,求大佬指点
#include<iostream>
using namespace std;
const int N=2e5+10;
typedef long long ll;
ll a[N],dp[N],n,l,r,res,ans;
int main(){
cin>>n>>l>>r;
if(l<r) swap(l,r);
for(int i=0;i<=n;i++) scanf("%lld",&a[i]);
for(int i=0;i<r;i++) a[i]=0;
for(int i=0;i<=n;i++){
for(int j=i-l;j<=i-r;j++){
if(j>0) res=max(dp[j],res);
}
dp[i]=res+a[i];
res=0;
}
for(int i=n-l+1;i<=n;i++) ans=max(ans,dp[i]);
cout<<ans;
return 0;
}