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
ayoncoder: 2024-12-01 16:19:58

easily solved by many approaches such as policy based data structure ordered_set and segment tree.

Last edit: 2024-12-01 16:30:48
carofe82: 2024-08-07 17:00:39

I got AC with golang. As others have said, make sure you use int64 for the result count.

hs1800002: 2024-06-05 02:22:35

<snip>
[Simes]: No thanks, we don't want solutions.

Last edit: 2024-06-05 07:45:00
pudo1234: 2024-03-25 09:20:56

@onis No you use your brain so I don't think you can solve it

onis: 2024-03-25 09:20:05

guys do I use the amogus method to solve this?????

pratyushgadge1: 2023-10-13 20:41:33

i agree with @hraj123. don't use int. i used long long and got my solution accepted in the first try after the update;

orgil0127: 2023-06-27 06:57:03

HELLO world <2
(

hraj123: 2023-06-10 12:28:50

@new_mutant, it will overflow bcoz of array size not bcoz of array values, as total pair values can have upperbound as (n^2-n)/2 where n<=2e5.

Last edit: 2023-06-27 19:31:46
leonardodpv: 2023-05-08 02:10:41

Ojo con el numero de "inversions" que se pueden dar en casos muy grandes y ordenados.

Last edit: 2023-05-08 02:11:02
mddinislam: 2023-05-04 14:06:55

How the first test case answer is 2 ?


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