ThegeekKnight16

BALE11

Aug 13th, 2025
297
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.66 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. const int MAXN = 1e5 + 10;
  4. array<int, MAXN> v, bit;
  5.  
  6. void update(int id, int val)
  7. {
  8.     while (id < MAXN)
  9.     {
  10.         bit[id] += val;
  11.         id += id&-id;
  12.     }
  13. }
  14.  
  15. int query(int id)
  16. {
  17.     int resp = 0;
  18.     while (id > 0)
  19.     {
  20.         resp += bit[id];
  21.         id -= id&-id;
  22.     }
  23.     return resp;
  24. }
  25.  
  26. int main()
  27. {
  28.     ios_base::sync_with_stdio(false);
  29.     cin.tie(NULL);
  30.     int N; cin >> N;
  31.     for (int i = 0; i < N; i++) cin >> v[i];
  32.  
  33.     long long resp = 0;
  34.     for (int i = N-1; i >= 0; i--)
  35.     {
  36.         resp += query(v[i]-1);
  37.         update(v[i], 1);
  38.     }
  39.     cout << resp << '\n';
  40. }
Advertisement
Add Comment
Please, Sign In to add comment