### vipulcyber's blog

By vipulcyber, history, 4 months ago,

You are given a permutation p1,p2,…,pn of length n and a positive integer k≤n.

In one operation you can choose two indices i and j (1≤i<j≤n) and swap pi with pj.

Find the minimum number of operations needed to make the sum p1+p2+…+pk as small as possible.

A permutation is an array consisting of n distinct integers from 1 to n in arbitrary order. For example, [2,3,1,5,4] is a permutation, but [1,2,2] is not a permutation (2 appears twice in the array) and [1,3,4] is also not a permutation (n=3 but there is 4 in the array).

Input Each test contains multiple test cases. The first line contains the number of test cases t (1≤t≤100). Description of the test cases follows.

The first line of each test case contains two integers n and k (1≤k≤n≤100).

The second line of each test case contains n integers p1,p2,…,pn (1≤pi≤n). It is guaranteed that the given numbers form a permutation of length n.

Output For each test case print one integer — the minimum number of operations needed to make the sum p1+p2+…+pk as small as possible.

INPUT:

4

3 1

2 3 1

3 3

1 2 3

4 2

3 4 1 2

1 1

1

OUTPUT:

1

0

2

0

#include<bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
int n,k;
cin>>n>>k;
int a[n];
for(int i=0;i<n;i++)
{
cin>>a[i];
}

int cnt=0;

set<int>s;
for(int i=1;i<=k;i++)
{
s.insert(i);
}
for(int i=0;i<k;i++)
{
if(s.find(a[i])!=s.end())
{
s.erase(a[i]);
}
}
cout<<s.size()<<endl;

}
return 0;
}


• -20