题目描述
给定一个排列 P=(P1,P2,⋯,PN),它是 (1,2,⋯,N) 的一个排列。
长度为 K 的索引序列 (i1,i2,⋯,iK) 被称为"好的索引序列",如果它满足以下两个条件:
-
1≤i1<i2<⋯<iK≤N。
-
子序列 (Pi1,Pi2,⋯,PiK) 可以通过重新排列某些连续的 K 个整数得到。形式上,存在一个整数 a 使得 ${P_{i_1},P_{i_2},\cdots,P_{i_K}} = {a,a+1,\cdots,a+K-1}$。
在所有好的索引序列中,找出 iK−i1 的最小值。在这个问题的约束条件下,可以证明至少存在一个好的索引序列。
输入格式
输入将从标准输入中以下列格式给出:
N K
P1 P2 ⋯ PN
输出格式
输出所有好的索引序列中 iK−i1 的最小值。
样例
4 2
2 3 1 4
1
4 1
2 3 1 4
0
10 5
10 1 6 8 7 2 5 9 3 4
5
样例解释
【样例1说明】
好的索引序列有 (1,2), (1,3), (2,4)。例如,(i1,i2)=(1,3) 是一个好的索引序列,因为 1≤i1<i2≤N 且 (Pi1,Pi2)=(2,1) 是两个连续整数 1,2 的重新排列。
在这些好的索引序列中,iK−i1 的最小值是 (1,2) 的情况,即 2−1=1。
【样例2说明】
在所有好的索引序列中,iK−i1=i1−i1=0。
数据范围
1≤K≤N≤2×105
1≤Pi≤N
如果 i=j,则Pi=Pj
所有输入值都是整数。
来源