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
dushyant7917:
20171113 12:41:27
BST approach using STL gives TLE! but mergesort works :) Last edit: 20171113 14:54:21 

aimbot:
20171023 21:40:05
tags are clickbait 

harkirat:
20171016 11:35:56
1 Last edit: 20171016 11:36:08 

ashutosh450:
20171005 00:27:52
Use Long long int if you don't want WA! 

hitesh87:
20171004 20:30:53
Mergesort does the job 

vishesh197:
20170930 20:20:16
If you want to do it in orthrodox manner do it by merge sort.Its just modified mergesort.It can be solved using BIT concept too.There is a bit mask approach too but it gives TLE.AC in 4th go.... 

Dinu Bhai:
20170919 20:06:02
dont forget to print the answer in a new line...


anmoldua:
20170914 20:44:47
fenwick tree easy 

taksh:
20170908 14:19:01
How to you solve this? Someone please send solution code for this. Been trying for the last 3 days. 

polkerty:
20170905 04:13:19
So my solution is really weird (respect to everyone who saw the merge sort). Basically I used 3 vectors and some carefully chosen constants to get the answer by sorting progressively smaller pieces of the array, and then using a bunch of binary searches to find the values I wanted. 
Added by:  Paranoid Android 
Date:  20100306 
Time limit:  3.599s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel G860) 
Languages:  All except: PERL6 