Problem B

Statement
Copy Copied
B. Gorilla and the Examtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputDue to a shortage of teachers in the senior class of the "T-generation", it was decided to have a huge male gorilla conduct exams for the students. However, it is not that simple; to prove his competence, he needs to solve the following problem.For an array $$$b$$$, we define the function $$$f(b)$$$ as the smallest number of the following operations required to make the array $$$b$$$ empty:   take two integers $$$l$$$ and $$$r$$$, such that $$$l \le r$$$, and let $$$x$$$ be the $$$\min(b_l, b_{l+1}, \ldots, b_r)$$$; then  remove all such $$$b_i$$$ that $$$l \le i \le r$$$ and $$$b_i = x$$$ from the array, the deleted elements are removed, the indices are renumerated. You are given an array $$$a$$$ of length $$$n$$$ and an integer $$$k$$$. No more than $$$k$$$ times, you can choose any index $$$i$$$ ($$$1 \le i \le n$$$) and any integer $$$p$$$, and replace $$$a_i$$$ with $$$p$$$.Help the gorilla to determine the smallest value of $$$f(a)$$$ that can be achieved after such replacements.InputEach test contains multiple test cases. The first line contains a single integer $$$t$$$ ($$$1 \le t \le 10^4$$$) — the number of test cases. The description of the test cases follows.The first line of each set of input data contains two integers $$$n$$$ and $$$k$$$ ($$$1 \le n \le 10^5$$$, $$$0 \le k \le n$$$) — the length of the array $$$a$$$ and the maximum number of changes, respectively.The second line of each set of input data contains $$$n$$$ integers $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le 10^9$$$) — the array $$$a$$$ itself.It is guaranteed that the sum of the values of $$$n$$$ across all sets of input data does not exceed $$$10^5$$$.OutputFor each set of input data, output a single integer on a separate line — the smallest possible value of $$$f(a)$$$.ExampleInput61 0488433 12 3 25 31 2 3 4 57 04 7 1 3 2 4 111 43 2 1 4 4 3 4 2 1 3 35 51 2 3 4 5Output1
1
2
5
2
1
NoteIn the first set of input data, $$$f([48\,843]) = 1$$$, since the array consists of a single number, and thus it can be removed in one operation.In the second set of input data, you can change the second number to $$$2$$$, resulting in the array $$$[2, 2, 2]$$$, where $$$f([2, 2, 2]) = 1$$$, since you can take the entire array as a subarray, the minimum on it is $$$2$$$, so we will remove all the $$$2$$$s from the array, and the array will become empty.