Minimization

AtCoder
IDarc099_a
Time2000ms
Memory256MB
Difficulty
There is a sequence of length $N$: $A_1, A_2, ..., A_N$. Initially, this sequence is a permutation of $1, 2, ..., N$. On this sequence, Snuke can perform the following operation: * Choose $K$ consecutive elements in the sequence. Then, replace the value of each chosen element with the minimum value among the chosen elements. Snuke would like to make all the elements in this sequence equal by repeating the operation above some number of times. Find the minimum number of operations required. It can be proved that, Under the constraints of this problem, this objective is always achievable. ## Constraints * $2 \leq K \leq N \leq 100000$ * $A_1, A_2, ..., A_N$ is a permutation of $1, 2, ..., N$. ## Input Input is given from Standard Input in the following format: $N$ $K$ $A_1$ $A_2$ $...$ $A_N$ [samples]
Samples
Input #1
4 3
2 3 1 4
Output #1
2

One optimal strategy is as follows:

*   In the first operation, choose the first, second and third elements. The sequence $A$ becomes $1, 1, 1, 4$.
    
*   In the second operation, choose the second, third and fourth elements. The sequence $A$ becomes $1, 1, 1, 1$.
Input #2
3 3
1 2 3
Output #2
1
Input #3
8 3
7 3 1 8 4 6 2 5
Output #3
4
API Response (JSON)
{
  "problem": {
    "name": "Minimization",
    "description": {
      "content": "There is a sequence of length $N$: $A_1, A_2, ..., A_N$. Initially, this sequence is a permutation of $1, 2, ..., N$. On this sequence, Snuke can perform the following operation: *   Choose $K$ conse",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "arc099_a"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "There is a sequence of length $N$: $A_1, A_2, ..., A_N$. Initially, this sequence is a permutation of $1, 2, ..., N$.\nOn this sequence, Snuke can perform the following operation:\n\n*   Choose $K$ conse...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments