INVCNT  Inversion Count
Let A[0...n  1] be an array of n distinct positive integers. If i < j and A[i] > A[j] then the pair (i, j) is called an inversion of A. Given n and an array A your task is to find the number of inversions of A.
Input
The first line contains t, the number of testcases followed by a blank space. Each of the t tests start with a number n (n <= 200000). Then n + 1 lines follow. In the ith line a number A[i  1] is given (A[i  1] <= 10^7). The (n + 1)th line is a blank space.
Output
For every test output one line giving the number of inversions of A.
Example
Input: 2 3 3 1 2 5 2 3 8 6 1 Output: 2 5
hide comments
shauryauppal:
20180318 08:37:26
BIT with long long is the key to success. 

jmr99:
20180316 19:57:39
how to solve this using #graphtheory #numbertheory #shortestpath pls somebody share the idea . 

mranderson:
20180316 19:52:03
use long long int for the count 

kkislay20:
20180316 16:32:31
@jmr99 no, I have tried it for ve numbers and i think it runs fine. Can you please put down some testcases for which it failed. By the way i have used a convert function to handle big numbers as well as negative nos.


jmr99:
20180316 16:24:21
Last edit: 20180316 19:52:08 

jmr99:
20180316 12:15:54
hint : : use BIT or Merge


kkislay20:
20180316 12:01:15
I'm getting WA!!! Somebody please help.


ash_maurya:
20180316 07:15:19
@addy1397 There are n distinct numbers in the problem, none of them are repeated. Some of your random inputs are invalid.


zephyr_96:
20180226 22:01:11
Use BigInteger (number of inversions) for java else you will get WA. Last edit: 20180226 22:02:24 

saurabh987:
20180114 14:14:47
my 100th :) using BIT 
Added by:  Paranoid Android 
Date:  20100306 
Time limit:  3.599s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel G860) 
Languages:  All except: PERL6 