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] ≤ 107). 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
I_AM:
2013-04-15 16:21:46
Thanks معاذ for your hint. Not taking long long cost me also many wrong answers. Others beware! |
|
Aradhya:
2013-04-15 16:21:46
did it by merge sort and some hit and trail :D |
|
maaz:
2013-04-15 16:21:46
Take long long int for the no. of inversions .
|
|
N Hari Prasad:
2013-04-15 16:21:46
try to use printf instead of cout. . got ACC by just changing that. . |
|
Santiago Palacio:
2013-04-15 16:21:46
@saurabh input and output are separated for the machine (even if they are shown at the same time in the console) |
|
Saurabh Jain:
2013-04-15 16:21:46
can we print the output of each test case just after we have input the numbers after n and then leave a blank line and read the input for the next text case?
|
|
cannot_in2_coding:
2013-04-15 16:21:46
Last edit: 2011-12-29 23:28:00 |
|
Chandan Giri:
2013-04-15 16:21:46
@competer thanks :) i was stuck with that |
|
e@spoj:
2013-04-15 16:21:46
@competer +1 |
|
naive_coder:
2013-04-15 16:21:46
please have a look at the range that count will have to store
|
Added by: | Paranoid Android |
Date: | 2010-03-06 |
Time limit: | 3.599s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: PERL6 |