#T1131. [2022第十三届蓝桥杯青少年组国赛] 金箍棒

[2022第十三届蓝桥杯青少年组国赛] 金箍棒

题目背景

第十三届蓝桥杯青少年组国赛2022年5月C++组第5题

题目描述

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

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

例如:N=3K=23N=3,K=2,3 根金箍棒初始高度分别为:3613,6,1

  • 第一次对高度为 3 金箍棒施法变长 1 个高度,变为 4;
  • 第二次对高度为 6 金箍棒施法变短 1 个高度,变为 5;
  • 第三次对高度为 4 金箍棒施法变长 1 个高度,变为5;

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

输入格式

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

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

输出格式

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

样例 #1

样例输入 #1

3 2
3 6 1

样例输出 #1

3