fork download
  1. #include<bits/stdc++.h>
  2. #include <ext/pb_ds/assoc_container.hpp>
  3. #include <ext/pb_ds/tree_policy.hpp>
  4. #include <ext/pb_ds/assoc_container.hpp>
  5. #include <ext/pb_ds/tree_policy.hpp>
  6. #define fast std::ios::sync_with_stdio(0);cin.tie(NULL);cout.tie(NULL)
  7. #define ll long long
  8. #define test cout<<"archit\n"
  9. #define debug(x) cout<<x<<" "
  10. #define debug1(x) cout<<x<<"\n"
  11. #define debug2(x,y) cout<<x<<" "<<y<<"\n"
  12. #define pb push_back
  13. #define pi pair<int,int>
  14. #define fi first
  15. #define si second
  16. #define mod (ll)1000000007
  17. #define mxn 1000005
  18. #define ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update>
  19. using namespace std;
  20. using namespace __gnu_pbds;
  21. int main()
  22. {
  23. int n,x; cin>>n;
  24. vector<int>v(n);
  25. unordered_map<int, int>mp1;
  26. unordered_map<int, int>mp2;
  27. for(int i=1;i<=n;i++){
  28. cin>>v[i];
  29. mp1[v[i]]+=1;
  30. }
  31. for(int i=1;i<=n;i++){
  32. cin>>x;
  33. mp2[x]+=1;
  34. }
  35. sort(v.begin(), v.end());
  36. vector<int>ans;
  37. for(int i=0;i<n;i++){
  38. int mine = min(mp1[v[i]], mp2[v[i]]);
  39. for(int j=1;j<=mine;j++){
  40. ans.pb(v[i]);
  41. }
  42. mp1[v[i]] = 0;
  43. }
  44. for(int i=0;i<ans.size();i++){
  45. if(i!=(ans.size()-1)){
  46. cout<<ans[i]<<", ";
  47. }
  48. else{
  49. cout<<ans[i];
  50. }
  51. }
  52. return 0;
  53. }
  54.  
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
Standard output is empty