Advertisement
Fshl0

Untitled

Jan 1st, 2022
1,063
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.79 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define F first
  3. #define S second
  4. #define mp make_pair
  5. #define pb push_back
  6. #define loop(i,x,y) for(int i=x;i<=y;i++)
  7.  
  8. using namespace std;
  9. typedef long long ll;
  10.  
  11. const int N = 2e5 + 9;
  12. const int MOD = 1e9 + 7;
  13. const ll INF = LLONG_MAX;
  14.  
  15. int pre[N], n;
  16.  
  17. int get (int i) {
  18.     int res = 0;
  19.     for (; i > 0; i -= i & (-i))
  20.         res += pre[i];
  21.    
  22.     return res;
  23. }
  24.  
  25. void upd (int i) {
  26.     for (; i <= n; i += (i & -i))
  27.         pre[i]++;
  28.    
  29.     return;
  30. }
  31.  
  32. void solve () {
  33.     cin >> n;
  34.    
  35.     int res = 0;
  36.     for (int i = 1; i <= n; i++) {
  37.         int x;
  38.         scanf ("%d", &x);
  39.        
  40.         x += get (n - (x + 1) + 1);
  41.         res += x - i;
  42.        
  43.         upd (n - x + 1);
  44.     }
  45.    
  46.     printf ("%d\n", res);
  47.    
  48.     return;
  49. }
  50.  
  51. int main () {
  52.     int t = 1;
  53.     //cin >> t;
  54.    
  55.     while (t--)
  56.         solve ();
  57.    
  58.     return 0;
  59. }
  60.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement