Type: Default 1000ms 256MiB

金箍棒

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

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

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

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

第一次对高度为 33 金箍棒施法变长 11 个高度,变为 44

第二次对高度为 66 金箍棒施法变短 11 个高度,变为 55

第三次对高度为 44 金箍棒施法变长 11 个高度,变为 55

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

输入格式

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

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

输出格式

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

3 2
3 6 1
3

来源

第13届蓝桥杯国赛

蓝桥杯第十三届c++国赛真题

Not Attended
Status
Done
Rule
IOI
Problem
7
Start at
2023-5-25 21:00
End at
2023-5-29 5:00
Duration
80 hour(s)
Host
Partic.
12