P5638 【CSGRound2】光骓者的荣耀

水题

  • 我们肯定向前传送
  • 求长为k的最大连续子段和,然后总长减去就行了
const int N=1e6+10;
LL a[N];
LL sum[N];
int n,k;

int main()
{
    cin>>n>>k;
    for(int i=1;i<=n-1;i++) cin>>a[i],sum[i]=sum[i-1]+a[i];

    LL res=0;
    for(int i=k;i<=n-1;i++)
        res=max(res,sum[i]-sum[i-k]);

    cout<<sum[n-1]-res<<endl;
    //system("pause");
}
posted @ 2020-09-19 21:24  Dazzling!  阅读(188)  评论(0编辑  收藏  举报