#arc099a. [arc099_a]Minimization

[arc099_a]Minimization

问题描述

有一个长度为 NN 的序列:A1,A2,...,ANA_1, A_2, ..., A_N。一开始,这个序列是 1,2,...,N1, 2, ..., N 的一个排列。

在这个序列上,Snuke可以执行以下操作:

  • 选择连续的 KK 个元素。然后,将所选元素的值替换为所选元素中的最小值。

Snuke希望通过重复上述操作使得这个序列中的所有元素相等。找到所需操作的最小次数。可以证明,在问题的约束条件下,这个目标总是可以实现的。

约束条件

  • 2KN1000002 \leq K \leq N \leq 100000
  • A1,A2,...,ANA_1, A_2, ..., A_N1,2,...,N1, 2, ..., N 的一个排列。

输入

输入形式如下,从标准输入读取:

NN KK A1A_1 A2A_2 ...... ANA_N

输出

打印所需操作的最小次数。


示例输入 1

4 3
2 3 1 4

示例输出 1

2

一种最优策略如下:

  • 在第一次操作中,选取第一个、第二个和第三个元素。序列 AA 变为 1,1,1,41, 1, 1, 4

  • 在第二次操作中,选取第二个、第三个和第四个元素。序列 AA 变为 1,1,1,11, 1, 1, 1


示例输入 2

3 3
1 2 3

示例输出 2

1

示例输入 3

8 3
7 3 1 8 4 6 2 5

示例输出 3

4