#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t;cin>>t;
while(t--){
map<int,int>mp;
vector<int>v;
vector<int>p;
int n,m;cin>>n>>m;
int x[n],y[m];
for(int i=0;i<n;i++){
cin>>x[i];
mp[x[i]]++;
if(mp[x[i]]==1)p.push_back(x[i]);
}
for(int i=0;i<m;i++){cin>>y[i];}
for(int i=0;i<p.size();i++){
v.push_back(mp[p[i]]);
}
sort(v.begin(),v.end());sort(y,y+m);
int u=m-1;
while(u>=0){
if(v[v.size()-1]==0)break;
if(y[u]>v[v.size()-1])v[v.size()-1]=0;
else v[v.size()-1]=v[v.size()-1]-y[u];
u--;
if(v[v.size()-1]==0)v.pop_back();
if(v.size()==0)break;
sort(v.begin(),v.end());
}
long long sum=0;
for(int i=0;i<v.size();i++){
sum+=v[i];
if(v[i]==0)break;
}
//********
cout<<n-sum<<"\n";}
}
1035. Uncrossed Lines | 328. Odd Even Linked List |
1219. Path with Maximum Gold | 1268. Search Suggestions System |
841. Keys and Rooms | 152. Maximum Product Subarray |
337. House Robber III | 869. Reordered Power of 2 |
1593C - Save More Mice | 1217. Minimum Cost to Move Chips to The Same Position |
347. Top K Frequent Elements | 1503. Last Moment Before All Ants Fall Out of a Plank |
430. Flatten a Multilevel Doubly Linked List | 1290. Convert Binary Number in a Linked List to Integer |
1525. Number of Good Ways to Split a String | 72. Edit Distance |
563. Binary Tree Tilt | 1306. Jump Game III |
236. Lowest Common Ancestor of a Binary Tree | 790. Domino and Tromino Tiling |
878. Nth Magical Number | 2099. Find Subsequence of Length K With the Largest Sum |
1608A - Find Array | 416. Partition Equal Subset Sum |
1446. Consecutive Characters | 1618A - Polycarp and Sums of Subsequences |
1618B - Missing Bigram | 938. Range Sum of BST |
147. Insertion Sort List | 310. Minimum Height Trees |