思路:计算最大k段子列和,将这段减去。
#include<iostream>
using namespace std;
typedef long long ll;
ll a[1000005]={0};
int main()
{
ll n,k;
ll sheng=0;
cin>>n>>k;
for(int i=1;i<n;++i)
{
cin>>a[i];
a[i]+=a[i-1];
}
if(k==0) sheng=0;
else for(int i=0;i+k<n;++i)
{
sheng=max(a[i+k]-a[i],sheng);
}
cout<<a[n-1]-sheng<<endl;
return 0;
}