luogu#B4298. [蓝桥杯青少年组国赛 2022] 金箍棒

    ID: 36334 远端评测题 500ms 512MiB 尝试: 0 已通过: 0 难度: 3 上传者: 标签>贪心线段树2022排序蓝桥杯青少年组

[蓝桥杯青少年组国赛 2022] 金箍棒

题目背景

为区分各种时间复杂度的做法,本题时间限制下调到 500 毫秒。

题目描述

淘气的悟空变出了 NN 根高度各不相同的金箍棒(11 \leq 高度 1000\leq 1000),并排列成一排。悟空可以对每根金箍棒施法,让金箍棒高度变短或者变长,但每一次施法只能使一根金箍棒变短 11 个高度或者变长 11 个高度。

现在悟空想通过施法将 KKKNK \leq N)根相邻的金箍棒高度变为相同,且要求施法的次数最少,请你帮助悟空计算出最少需要施法几次可以使 KK 根相邻的金箍棒高度变为相同。

例如:N=3N=3K=2K=233 根金箍棒初始高度分别为 336611

  • 第一次对高度为 33 的金箍棒施法变长 11 个高度,变为 44
  • 第二次对高度为 66 的金箍棒施法变短 11 个高度,变为 55
  • 第三次对高度为 44 的金箍棒施法变长 11 个高度,变为 55

22 根相邻的金箍棒高度变为相同,最少施法 33 次。

输入格式

第一行输入两个正整数 NNKK1KN100001 \leq K \leq N \leq 10000),NN 表示金箍棒的根数,KK 表示需要将 KK 根相邻的金箍棒高度变为相同,两个整数之间以一个空格隔开。

第二行输入 NN 个各不相同的正整数(11 \leq 正整数1000\leq 1000),表示 NN 根金箍棒的初始高度,NN 个整数之间以一个空格隔开。

输出格式

输出一个整数,表示悟空最少需要施法几次可以使 KK 根相邻的金箍棒高度变为相同。

3 2
3 6 1
3