输入:
8
1 2 3 5 2 6 3 7
输出: 8
1买进 5卖出 2买入 7卖出
#include <iostream>
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+5;
int dp[maxn];
int a[maxn];
int n,k;
int main()
{
cin>>n;
int sum=0,l=0,left;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
cin>>k;
int cur=-1e9,ans=0;
for(int i=1;i<=n;i++)
{
dp[i]=max(a[i]+cur,dp[i-1]);
if(i>=k){
cur=max(cur,dp[i-k]-a[i]);
}
else cur=max(cur,-a[i]);
ans=max(ans,dp[i]);
}
cout<<ans;
return 0;
}