fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define MAXN 100005
  4.  
  5. int N;
  6. int A[100000];
  7. int T[MAXN+1];
  8.  
  9. int getSum(int i)
  10. {
  11. int c=0;
  12. for(++i; i > 0 ; i -= (i & -i))
  13. c += T[i];
  14. return c;
  15. }
  16. void Set(int i,int dif)
  17. {
  18. for(++i; i < MAXN ; i += (i & -i))
  19. T[i] += dif;
  20. }
  21.  
  22. long long cnt[100000];
  23.  
  24. int main()
  25. {
  26. freopen("daonguoc.inp","r",stdin);
  27. freopen("daonguoc.out","w",stdout);
  28. cin >> N;
  29. int a;
  30. for(int i=0;i<N;i++)
  31. {
  32. cin >> a;
  33. a++;
  34. cnt[a] += i - getSum(a);
  35. Set(a,1);
  36. }
  37. long long ans = 0;
  38. for(int j=1;j<=N;j++)
  39. {
  40. cout << ans << '\n';
  41. ans += cnt[j];
  42. }
  43. }
  44.  
Success #stdin #stdout 0.01s 5260KB
stdin
Standard input is empty
stdout
Standard output is empty