fork(1) download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define fast ios_base::sync_with_stdio(false),cout.tie(NULL),cin.tie(NULL);
  4. #define N "\n";
  5. #define all(v) v.begin(),v.end()
  6. #define rall(v) v.rbegin(),v.rend()
  7. #define sz(s) s.size()
  8. typedef long long ll;
  9. #define ull unsigned long long
  10. #define fi first
  11. #define se second
  12. int MOD=1e9+7;
  13. ll mul(ll a,ll b){return (1ll*a*b)%MOD;}
  14. int sub(ll a,ll b){return ((a-b)%MOD+MOD)%MOD;}
  15. int add(ll a,ll b){return ((a%MOD)+(b%MOD))%MOD;}
  16. ll lcm(ll x, ll y) {return x / __gcd(x, y) * y;}
  17. bool iseven(ll n) {if ((n & 1)){return 0;}else {return 1;}}
  18. ll ncr(int n,int m){ll z=1;for(int i=0;i<m;i++){z=z*(n-i)/(i+1);}return z;}
  19. void swp(ll &a,ll &b){a^=b;b^=a;a^=b;}
  20. ll fp(int n,int p){if(!p){return 1;}ll rem=fp(n,p>>1);rem*=rem;if(p&1){rem*=n;}return rem;}
  21. const ll M=3e7+5;
  22. int main() {
  23. fast
  24. int t=1;
  25. cin>>t;
  26. while(t--){
  27. int n,l,r;
  28. cin>>n>>l>>r;
  29. vector<int>v(l);
  30. int ans=0;
  31. map<int,int>mp,mp1;
  32. for(int i=0;i<l;i++){
  33. cin>>v[i];
  34. mp[v[i]]++;
  35. }
  36. int socks=0;
  37. for(int i=0;i<r;i++){
  38. int num;
  39. cin>>num;
  40. if(mp[num]){
  41. mp[num]--;
  42. socks++;
  43. }
  44. else{
  45. mp1[num]++;
  46. ans++;
  47. }
  48. }
  49. if(l==r){cout<<ans<<N;}
  50. else if(l>r){
  51. for(auto&it:mp){
  52. if(it.second>1&&l!=r){
  53. while(l>r&&it.second>1){
  54. ans++;
  55. r++;
  56. it.second--;
  57. l--;
  58. }
  59. }
  60. else if(l!=r){
  61. ans++;
  62. l--;
  63. r++;
  64. }
  65. }
  66. cout<<ans<<N;
  67. }
  68. else{
  69. for(auto&it:mp1){
  70. if(it.second>1&&l!=r){
  71. while(l<r&&it.second>1){
  72. ans++;
  73. r--;
  74. it.second--;
  75. l++;
  76. }
  77. }
  78. else if(l!=r){
  79. ans++;
  80. l++;
  81. r--;
  82. }
  83. }
  84. cout<<ans<<N;
  85. }
  86. }
  87. }
Success #stdin #stdout 0.01s 5548KB
stdin
4
6 3 3
1 2 3 2 2 2
6 2 4
1 1 2 2 2 2
6 5 1
6 5 4 3 2 1
4 0 4
4 4 4 3
stdout
2
5
3
6