Advertisement
Mehulcoder

Inversions_PBDS

Oct 31st, 2020
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.46 KB | None | 0 0
  1. #include <ext/pb_ds/assoc_container.hpp>
  2. #include <ext/pb_ds/tree_policy.hpp>
  3. using namespace __gnu_pbds;
  4.  
  5. #define ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update>
  6.  
  7. long long howManySwaps(vector<int> arr){
  8.     int n = arr.size();
  9.     long long ans = 0;
  10.     ordered_set o_set;
  11.     for(int i=0;i<n;i++){
  12.         int x = o_set.order_of_key(arr[i]);
  13.         ans = ans + (int)(o_set.size())-x;
  14.         o_set.insert(arr[i]);
  15.     }
  16.     return ans;
  17. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement