我是一位女程序猿,颜值90
题目描述
输入
输出
样例输入
5 2 1 2 3 4 5
样例输出
12
提示#include <bits/stdc++.h>
using namespace std;
long long n,k,E[100010],sum[100010],dp[100010];
long long que[100010];
int q[100010],head=0,tail=1;
int main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>E[i],sum[i]=sum[i-1]+E[i];
}
for(int i=1;i<=n;i++){
while(head<=tail&&q[head]<i-k)head++;
que[i]=dp[i-1]-sum[i];
while(head<=tail&&que[q[tail]]<que[i])tail--;
q[++tail]=i;
dp[i]=que[q[head]]+sum[i];
}
cout<<dp[n];
return 0;
}