Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.62 KB | None | 0 0
  1. #include <cstdio>
  2.  
  3. using namespace std;
  4. long long aib[1000005];
  5. long long v[1000005];
  6. long long sp[1000005];
  7. int n;
  8. void update(int poz,int val)
  9. {
  10.     for(;poz<=n;poz+=poz&-poz)
  11.     {
  12.         aib[poz]+=val;
  13.     }
  14.        
  15. }
  16. int query(int poz)
  17. {
  18.     int s=0;
  19.     for(;poz>0;poz-=poz&(-poz))
  20.         s+=aib[poz];
  21.     return s;
  22. }
  23. int main()
  24. {
  25.     long long cnt=0;
  26.     scanf("%lld",&n);
  27.     for(int i=1;i<=n;++i)
  28.         {
  29.             scanf("%lld",&v[i]);
  30.         }
  31.    
  32.     for(int i=n;i>=1;--i)
  33.     {
  34.         update(v[i],1);
  35.         cnt+=query(v[i]-1);
  36.     }
  37.     printf("%lld",cnt);
  38.     return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement