CF2093E Min Max MEX

Description

You are given an array $ a $ of length $ n $ and a number $ k $ . A subarray is defined as a sequence of one or more consecutive elements of the array. You need to split the array $ a $ into $ k $ non-overlapping subarrays $ b_1, b_2, \dots, b_k $ such that the union of these subarrays equals the entire array. Additionally, you need to maximize the value of $ x $ , which is equal to the minimum MEX $ (b_i) $ , for $ i \in [1..k] $ . MEX $ (v) $ denotes the smallest non-negative integer that is not present in the array $ v $ .

Input Format

The first line contains an integer $ t $ $ (1\leq t\leq 10^4) $ — the number of test cases. The first line of each test case contains two integers $ n $ , $ k $ $ (1\leq k \leq n \leq 2 \cdot 10^5) $ — the length of the array and the number of segments to split the array into. The second line of each test case contains $ n $ integers $ a_i $ $ (0\leq a_i\leq 10^9) $ — the elements of the array. It is guaranteed that the sum of $ n $ across all test cases does not exceed $ 2\cdot 10^5 $ .

Output Format

For each query, output a single number — the maximum value $ x $ such that there exists a partition of the array $ a $ into $ k $ subarrays where the minimum MEX equals $ x $ .