Once detective Saikat was solving a murder case. While going to the crime scene he took the stairs and saw that a number is written on every stair. He found it suspicious and decides to remember all the numbers that he has seen till now. While remembering the numbers he found that he can find some pattern in those numbers. So he decides that for each number on the stairs he will note down the sum of all the numbers previously seen on the stairs which are smaller than the present number. Calculate the sum of all the numbers written on his notes diary. Input
First line gives T, number of test cases.
2T lines follow.
First line gives you the number of stairs N
Next line gives you N numbers written on the stairs. Output
For each test case output one line giving the final sum for each test case. Constraints
T<=10
1<=N<=10^5
All numbers will be between 0 and 10^6. Example
Input: 1 5 1 5 3 6 4
Output: 15
Can anyone help me with it?
Try to think how it can be with BIT(Binary Indexed Trees) so as to get the sum in O(logN) to have a time complexity about O(N logN).Of course the simple brute-force it shows time-limit-exceeded.
More information about BIT: http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=binaryIndexedTrees
I recommend you try this problem with BIT because : 1)it is easy to understand it 2)it is easy to code it :D