fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int solve(vector<int>&m,vector<int>&f){
  4. sort(m.begin(),m.end());
  5. sort(f.begin(),f.end());
  6. vector<int>mh,ml,fh,fl;
  7. for(int i=0;i<m.size();i++){
  8. if(m[i]<0){
  9. ml.push_back(abs(m[i]));
  10. }
  11. if(m[i]>=0){
  12. mh.push_back(abs(m[i]));
  13. }
  14. }
  15. for(int i=0;i<f.size();i++){
  16. if(f[i]<0){
  17. fl.push_back(abs(f[i]));
  18. }
  19. if(f[i]>=0){
  20. fh.push_back(abs(f[i]));
  21. }
  22. }
  23. int j=0,ans=0;
  24. for(int i=mh.size()-1;i>=0;i--){
  25. if(j>=fl.size())break;
  26. if(mh[i]<fl[j]){//male with higher height preference and female with low height preference
  27. ans++;j++;
  28. }
  29. }
  30. j=0;
  31. for(int i=fh.size()-1;i>=0;i--){
  32. if(j>=ml.size())break;
  33. if(fh[i]<ml[j]){//male with lower height preference and female with higher height preference
  34. ans++;j++;
  35. }
  36. }
  37. return ans;
  38.  
  39. }
  40.  
  41.  
  42. int main(){
  43. int n;cin>>n;
  44. vector<int>m(n),f(n);
  45. for(int i=0;i<n;i++)cin>>m[i];
  46. for(int i=0;i<n;i++)cin>>f[i];
  47. cout<<solve(m,f)<<endl;
  48. }
Success #stdin #stdout 0.01s 5320KB
stdin
2
1800 1900
-2000 -1900
stdout
2