Advertisement
MinhNGUYEN2k4

remove arr

Feb 4th, 2021
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.46 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define sz(x) int(x.size())
  3. #define all(x) x.begin(),x.end()
  4. #define reset(x) memset(x, 0,sizeof(x))
  5. #define pb push_back
  6. #define mp make_pair
  7. #define fi first
  8. #define se second
  9. #define N 100005
  10. #define remain(x) if (x > MOD) x -= MOD
  11. #define ii pair<int, int>
  12. #define vi vector<int>
  13. #define vii vector< ii >
  14. #define bit(x, i) (((x) >> (i)) & 1)
  15. #define Task "test"
  16. #define int long long
  17.  
  18. using namespace std;
  19.  
  20. typedef long double ld;
  21.  
  22. int n, a[N];
  23. int b[N];
  24.  
  25. void readfile()
  26. {
  27.     ios_base::sync_with_stdio(false);
  28.     cin.tie(0);cout.tie(0);
  29.     if (fopen(Task".inp","r"))
  30.     {
  31.         freopen(Task".inp","r",stdin);
  32.         //freopen(Task".out","w",stdout);
  33.     }
  34.     cin >> n;
  35.     for(int i=1; i<=n; i++) cin >> a[i];
  36.     for(int i=1; i<=n; i++) cin >> b[i];
  37. }
  38.  
  39. void proc()
  40. {
  41.     sort(a+1,a+1+n);
  42.     sort(b+1,b+1+n);
  43.     int res = 0;
  44.     int i = 1;// i la vi tri ptu dang xet o day A
  45.     int j = 1;// j là vị trí phần tử đang xét ở dãy B
  46.     while (j <= n && i <= n)
  47.     {
  48.         if (a[i] >= b[j]) j++; // nếu mà thằng A đang lớn hơn thì tăng vị trí phần từ j lên
  49.         else if (a[i] < b[j]){
  50.             res++; // nếu a[i] < b[j] thì đây là một cặp được cộng điểm cho thằng B, lấy cặp này và tăng i j lên 1
  51.             i++;
  52.             j++;
  53.         }
  54.     }
  55.     cout << res;
  56. }
  57.  
  58. signed main()
  59. {
  60.     readfile();
  61.     proc();
  62.     return 0;
  63. }
  64.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement