Fixed Points solution codeforces

Fixed Points solution codeforces


Coming Soon

Consider a sequence of integers a1,a2,,ana1,a2,…,an. In one move, you can select any element of the sequence and delete it. After an element is deleted, all elements to the right are shifted to the left by 11 position, so there are no empty spaces in the sequence. So after you make a move, the sequence’s length decreases by 11. The indices of the elements after the move are recalculated.

E. g. let the sequence be a=[3,2,2,1,5]a=[3,2,2,1,5]. Let’s select the element a3=2a3=2 in a move. Then after the move the sequence will be equal to a=[3,2,1,5]a=[3,2,1,5], so the 33-rd element of the new sequence will be a3=1a3=1 and the 44-th element will be a4=5a4=5.

You are given a sequence a1,a2,,ana1,a2,…,an and a number kk. You need to find the minimum number of moves you have to make so that in the resulting sequence there will be at least kk elements that are equal to their indices, i. e. the resulting sequence b1,b2,,bmb1,b2,…,bm will contain at least kk indices ii such that bi=ibi=i.


The first line contains one integer tt (1t1001≤t≤100) — the number of test cases. Then tt test cases follow.

Each test case consists of two consecutive lines. The first line contains two integers nn and kk (1kn20001≤k≤n≤2000). The second line contains a sequence of integers a1,a2,,ana1,a2,…,an (1ain1≤ai≤n). The numbers in the sequence are not necessarily different.

It is guaranteed that the sum of nn over all test cases doesn’t exceed 20002000.


For each test case output in a single line:

  • 1−1 if there’s no desired move sequence;
  • otherwise, the integer xx (0xn0≤x≤n) — the minimum number of the moves to be made so that the resulting sequence will contain at least kk elements that are equal to their indices.


7 6
1 1 2 3 4 5 6
5 2
5 1 3 2 3
5 2
5 5 5 5 4
8 4
1 2 3 3 2 2 5 5



In the first test case the sequence doesn’t satisfy the desired condition, but it can be provided by deleting the first element, hence the sequence will be [1,2,3,4,5,6][1,2,3,4,5,6] and 66 elements will be equal to their indices.

In the second test case there are two ways to get the desired result in 22 moves: the first one is to delete the 11-st and the 33-rd elements so that the sequence will be [1,2,3][1,2,3] and have 33 elements equal to their indices; the second way is to delete the 22-nd and the 33-rd elements to get the sequence [5,2,3][5,2,3] with 22 desired elements.


Coming Soon

What a Reversal solution codeforcesFixed Points solution codeforces

Leave a Comment