#include <bits/stdc++.h>
using namespace std;
int v[6005], dp[6005][6005];
int n, k;
signed main()
{
int t;
cin >> t;
while(t--)
{
cin >> n >> k;
for(int i = 1; i <= n; i++)
cin >> v[i];
for(int i = 0; i <= n; i++)
{
for(int j = 0; j <= i; j++)
{
dp[i][j] = 0;
}
}
for(int i = 0; i < n; i++)
{
for(int j = 0; j <= i; j++)
{
dp[i + 1][j] = max(dp[i + 1][j], dp[i][j]);
dp[i + 1][j + 1] = max(dp[i + 1][j + 1], dp[i][j] + ((v[i + 1] == j + 1) ? 1 : 0));
}
}
int rasp = -1;
for(int i = n; i >= 0; i--)
{
if(dp[n][i] >= k)
{
rasp = n - i;
break;
}
}
cout << rasp << '\n';
}
return 0;
}
1676G - White-Black Balanced Subtrees | 1716D - Chip Move |
1352F - Binary String Reconstruction | 1487B - Cat Cycle |
1679C - Rooks Defenders | 56A - Bar |
1694B - Paranoid String | 35A - Shell Game |
1684A - Digit Minimization | 43B - Letter |
1017A - The Rank | 1698B - Rising Sand |
235A - LCM Challenge | 1075B - Taxi drivers and Lyft |
1562A - The Miracle and the Sleeper | 1216A - Prefixes |
1490C - Sum of Cubes | 868A - Bark to Unlock |
873B - Balanced Substring | 1401D - Maximum Distributed Tree |
1716C - Robot in a Hallway | 1688B - Patchouli's Magical Talisman |
99A - Help Far Away Kingdom | 622B - The Time |
1688C - Manipulating History | 1169D - Good Triple |
1675B - Make It Increasing | 588A - Duff and Meat |
1541B - Pleasant Pairs | 1626B - Minor Reduction |