fork download
  1. #include <bits/stdc++.h>
  2. #define int long long
  3. using namespace std;
  4. int n,ans=0,bit[100005];
  5. pair <int,int> p[100005];
  6. void UPDATE(int i, int v)
  7. {
  8. while (i<=n) bit[i]+=v,i+=i&(-i);
  9. return;
  10. }
  11. int GET(int l, int r)
  12. {
  13. l--;
  14. int resl=0,resr=0;
  15. while (l>0) resl+=bit[l],l-=l&(-l);
  16. while (r>0) resr+=bit[r],r-=r&(-r);
  17. return resr-resl;
  18. }
  19. signed main()
  20. {
  21. ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0);
  22. cin>>n;
  23. for (int i=1;i<=n;i++) cin>>p[i].first,p[i].second=i;
  24. sort(p+1,p+n+1,greater<pair<int,int>>());
  25. for (int i=1;i<=n;i++)
  26. {
  27. UPDATE(p[i].second,1);
  28. ans+=GET(1,p[i].second-1);
  29. }
  30. cout<<ans<<'\n';
  31. return 0;
  32. }
  33.  
Success #stdin #stdout 0s 5308KB
stdin
Standard input is empty
stdout
0