序列操作Ⅰ
题号:NC25573
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

一个长度为N的序列,所有元素均大于等于 ,你可以修改任意元素的值,使得修改之后所有元素的值仍均大于等于,且所有长度为k的区间的元素和均为负数,求最小的改动量之和。设一个元素改动后为,则这个元素的改动量为

输入描述:

第一行包含三个正整数N,M,K,意义如题面所示。,
第二行包含N个整数a,描述这个序列的每一个元素大小

输出描述:

输出一行一个整数表示答案。
示例1

输入

复制
4 5 2
7 5 8 10

输出

复制
32

说明

可改为0 -1 0 -1,满足题目要求,且改动量之和为32