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↵
↵
↵
~~~~~↵
Your code here...↵
#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;↵
}↵
~~~~~↵
↵
↵
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;↵
}↵
~~~~~↵
↵