#include
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main() {
ll n,k;
cin>>n>>k;
ll a[n+1];
ll ans=INT_MIN;
for(ll i=0;i<n;i++){
cin>>a[i];
}
ll dpf[n+1]={0};
ll dpb[n+1]={0};
dpb[0]=a[0];
dpb[1]=a[0]+a[1];
for(ll i=2;i<n;i++){
dpb[i]=a[i]+max(dpb[i-1],dpb[i-2]);
}
for(ll i=k+1;i<n;i++){
dpf[i]=a[i]+max(dpf[i-1],dpf[i-2]);
}
for(ll i=0;i<n;i++){
ans=max(ans,dpf[i]+dpb[i]-a[i]);
}
cout<<ans<<endl;
return 0;
}
Getting the wrong answer in the test cases 0,2 and 3.
Getting error in test cases 0,2 and 3
Consider the following: