传统题 1000ms 256MiB

小胖修路

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

说明

大学时,chase\texttt{chase} 经常在训练的时候给小胖读假题,腹黑的小胖决定报复chase\, \texttt{chase}。经过含辛茹苦的努力之后,小胖成功转型为一名道路设计师,并负责设计chase\, \texttt{chase} \,下班必经之路。

chase\texttt{chase}\,下班的道路分为 nn 段,标记为​ 11  ~  nn,每段路的海拔为 aia_i 米。

小胖想在路上制造至少 kk ​个坎(坎定义为:ii 处的路面海拔均高于 i1,i+1i-1,i+1 两处的海拔,则称 ii 处为一个坎),但是小胖每次操作只能将某段路的海拔降低 11 米。

前面说了小胖很懒,所以现在小胖请你帮忙算算她最少需要操作多少次,能形成至少 kk 个坎。

产生这个想法之后小胖觉得自己非常邪恶,所以形成至少 kk 个坎之后小胖就满意了。

你可以认为路段 11 只和路段 22 相邻,降低路段 22 的海拔就能在 11 处形成一个坎,路段 nn 只和路段 n1n-1 相邻,降低路段 n1n-1 的海拔就能在 nn 处形成一个坎。

输入格式

第一行一个整数 TT,表示数据组数。

接下来每组数据两行,

第一行两个正整数 n,kn,k,分别表示路分为 nn 段和小胖想制造至少 kk 个坎,

第二行 nn 个正整数 aia_i 表示每段路的海拔。

1T1001 \leq T \leq 1001kn50001 \leq k \leq n \leq 50001ai1051 \leq a_i \leq 10^5n5000\sum{n} \leq 5000

输出格式

每组数据输出一行,若小胖无法制造至少 kk 个坎则输出 1-1,否则输出最小的操作次数。

样例

样例输入 1

3
5 3
1 2 3 4 5
5 4
6 6 6 6 6
5 2
2 5 3 4 1

样例输出 1

4
-1
0

提示

对于样例 11,让第 22 段和第 44 段道路的海拔减少 22 米,即操作 44 次即可形成 1,3,51,3,533 处坎。

对于样例 22,无论如何都不能形成 44 个坎。

对于样例 33,已经有第 22 处和第 44 处两个坎了,小胖非常满意。

福建师范大学第24届低年级程序设计竞赛(重现赛)

未参加
状态
已结束
规则
ACM/ICPC
题目
7
开始于
2023-3-8 0:00
结束于
2023-12-24 15:00
持续时间
6999 小时
主持人
参赛人数
18