#arc099a. [arc099_a]Minimization
[arc099_a]Minimization
问题描述
有一个长度为 的序列:。一开始,这个序列是 的一个排列。
在这个序列上,Snuke可以执行以下操作:
- 选择连续的 个元素。然后,将所选元素的值替换为所选元素中的最小值。
Snuke希望通过重复上述操作使得这个序列中的所有元素相等。找到所需操作的最小次数。可以证明,在问题的约束条件下,这个目标总是可以实现的。
约束条件
- 是 的一个排列。
输入
输入形式如下,从标准输入读取:
输出
打印所需操作的最小次数。
示例输入 1
4 3
2 3 1 4
示例输出 1
2
一种最优策略如下:
-
在第一次操作中,选取第一个、第二个和第三个元素。序列 变为 。
-
在第二次操作中,选取第二个、第三个和第四个元素。序列 变为 。
示例输入 2
3 3
1 2 3
示例输出 2
1
示例输入 3
8 3
7 3 1 8 4 6 2 5
示例输出 3
4