dario-dsa's blog

By dario-dsa, 12 years ago, In English

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?

  • Vote: I like it
  • -8
  • Vote: I do not like it

| Write comment?
»
12 years ago, # |
  Vote: I like it 0 Vote: I do not like 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