fork download
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <bits/stdc++.h>
  4. using namespace std;
  5.  
  6. int helper_fn(vector<int>&a1,vector<int>&a2){
  7. int n=a1.size();
  8. int n2=a2.size();
  9. int i=0;
  10. int j=0;
  11. int c1=0;
  12. while(i<n2 && j<n){
  13. if(a1[j]>a2[i]){
  14. c1++;
  15. i++;
  16. j++;
  17. }
  18.  
  19. else{
  20. j++;
  21. }
  22. }
  23. return c1;
  24. }
  25.  
  26. int relations(vector<int>&m,vector<int>&f){
  27. int n=m.size();
  28. vector<int>mp1,fp1;
  29. vector<int>mp2,fp2;
  30.  
  31. for(int i=0;i<n;i++){
  32. if(m[i]<0){
  33. mp1.push_back(abs(m[i]));
  34. }
  35. else if(m[i]>=0){
  36. mp2.push_back(m[i]);
  37. }
  38.  
  39. if(f[i]<0){
  40. fp1.push_back(abs(f[i]));
  41. }
  42. else if(f[i]>=0){
  43. fp2.push_back(f[i]);
  44. }
  45. }
  46.  
  47. sort(mp1.begin(),mp1.end());
  48. sort(mp2.begin(),mp2.end());
  49. sort(fp1.begin(),fp1.end());
  50. sort(fp2.begin(),fp2.end());
  51.  
  52.  
  53. int count=helper_fn(mp1,fp2)+helper_fn(fp1,mp2);
  54. return count;
  55.  
  56. }
  57. int main(){
  58. int n;
  59. cin>>n;
  60. vector<int>m(n);
  61. vector<int>f(n);
  62.  
  63. for(int i=0;i<n;i++){
  64. cin>>m[i];
  65. }
  66. for(int i=0;i<n;i++){
  67. cin>>f[i];
  68. }
  69.  
  70. int count=relations(m,f);
  71. cout<<"Number of relations : "<<count<<endl;
  72. return 0;
  73. }
Success #stdin #stdout 0s 5308KB
stdin
7
-1900 -2000 -2500 1500 1600 2500 -2500
1800 -1550 2200 -1550 2100 -2500 -1700
stdout
Number of relations :  5