P25124 [AtCoder] Pure Straight
提高
题目描述

Problem Statement

Given is a sequence of $N positive integers A = (A_1, A_2, \ldots, A_N)$, where each A_i is $1, 2, \ldots$, or K.
You can do the following operation on this sequence any number of times.

  • Swap two adjacent elements, that is, choose i and j such that |i-j|=1 and swap A_i and A_j.

Find the minimum number of operations needed to make A satisfy the following condition.

  • $A contains (1, 2, \ldots, K)$ as a contiguous subsequence, that is, there is a positive integer n at most N-K+1 such that $A_n = 1, A_{n+1} = 2, \ldots$, and A_{n+K-1} = K.

Input

Input is given from Standard Input in the following format:
N K
$A_1 A_2 \ldots A_N$

Output

Print the minimum number of operations needed to make A satisfy the condition.

Constraints

  • $2\leq K\leq 16$
  • $K \leq N\leq 200$
  • A_i is $1, 2, \ldots$, or K.
  • A contains at least one occurrence of each of $1, 2, \ldots, K$.

Sample Input 1

4 3
3 1 2 1

Sample Output 1

2

One optimal sequence of operations is as follows.

  • Swap A_1 and A_2, changing A to (1,3,2,1).
  • Swap A_2 and A_3, changing A to (1,2,3,1).
  • Now we have A_1 = 1, A_2 = 2, A_3 = 3, satisfying the condition.

Sample Input 2

5 5
4 1 5 2 3

Sample Output 2

5

Sample Input 3

8 4
4 2 3 2 4 2 1 4

Sample Output 3

5

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
4 3 3 1 2 1
样例输出
2