题目描述:
小明有一个长度为 n 的正整数序列,序列中每个数字都在范围 [1, k] 内。小明现在想要删除这个序列中的若干数字,使得这个序列的最长上升子序列的长度严格小于 k。他现在想知道:最少需要删除多少个数字?
上升序列是一个长度为 m 的序列 b,满足 b1 < b2 < ... < bm−1 < bm。子序列是指将原序列删除若干位置(或者不删)之后再从左到右拼接起来得到的一个序列。最长上升子序列是指原序列删除最少的位置之后形成的子序列是一个上升序列。例如, [1, 4, 5, 2, 3, 2, 5] 的一个最长上升子序列是 [1, 2, 3, 5],长度为 4;[1, 2, 3, 4, 5] 的最长上 升子序列就是其本身。
输入描述
第一行一个正整数 T ,表示有 T 组数据。
对于每一组数据,第一行两个正整数 n, k;第二行 n 个正整数 a1, a2, ..., an,表示该序列。
1 ≤ k ≤ n ≤ 105, 1 ≤ T ≤ 5, 1 ≤ ai ≤ k, Σ n ≤ 2 × 105。
输出描述
对于每一组数据输出一行一个非负整数,表示最少需要删除的数字。
输入样例
4
5 3
1 2 3 1 2
5 1
1 1 1 1 1
10 4
1 2 1 2 3 4 3 3 4 4
9 3
1 2 2 1 1 3 2 3 3
输出样例
1
5
2
2