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),v1;
  30. map<int,int>mp,mp1;
  31. for(int i=0;i<l;i++){
  32. cin>>v[i];
  33. mp[v[i]]++;
  34. }
  35. int socks=0;
  36. for(int i=0;i<r;i++){
  37. int num;
  38. cin>>num;
  39. if(mp[num]){
  40. mp[num]--;
  41. socks++;
  42. }
  43. else{
  44. mp1[num]++;
  45. v1.push_back(num);
  46. }
  47. }
  48. if(l==r){
  49. cout<<(sz(v1))<<N;
  50. }
  51. else if(l>r){
  52. for(auto&it:mp){
  53. if(it.second>1){
  54. while(l>r&&it.second>1){
  55. socks++;
  56. r++;
  57. it.second--;
  58. l--;
  59. }
  60. }
  61. }
  62. cout<<r<<N;
  63. }
  64. else{
  65. for(auto&it:mp1){
  66. if(it.second>1){
  67. while(l<r&&it.second>1){
  68. socks++;
  69. r--;
  70. it.second--;
  71. l++;
  72. }
  73. }
  74. }
  75. cout<<l<<N;
  76. }
  77.  
  78. }
  79. }
Success #stdin #stdout 0.01s 5464KB
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
3
1
2