ABSP1 - abs(a-b) I
Recently Mr. Kopa Samsu is learning programming. On a very renowned online judge, he found a problem:
You are given an array of N numbers in non-decreasing order. You have to answer the summation of the absolute difference of all distinct pairs in the given array.
Do you know what distinct pair means? Suppose you have an array of 3 elements: 3 5 6
Then all the distinct pairs are:
3 5
3 6
5 6
For this problem, Mr. Kopa Samsu implemented an algorithm to find the summation of the absolute difference of all distinct pairs. His algorithm was:
int ABS(int a[], int n) { int sum = 0; for (int i = 1; i <= n ;i++) { for (int j = i + 1; j <= n; j++) { sum += abs(a[i] - a[j]); } } }
After a great hard work, he finished the code. But alas!!! Frustration came around him when he submitted his code, the judge gave the verdict “TLE” (Time Limit Exceeded). “How can I get rid of TLE?” he thought a lot but couldn't find any way. Then suddenly, he remembered about you that you (his friend) is very good at programming. So, he came to you seeking your help. Can you help him solving this problem?
Input
The input data set starts with an integer T (T ≤ 1000), the number of test cases. Then every test case starts with a integer N (N ≤ 10000), the number of elements in the array. After that, the next line contains N integers A[i], where 1 ≤ i ≤ N and 1 ≤ A[i] ≤ 1000000000 and A[i] ≤ A[i+1].
Output
Every test case should output an integer “X”, where X is the summation of the absolute difference of all the distinct pair.
Example
Input: 3 3 1 2 3 3 1 4 5 3 2 4 6 Output: 4 8 8
Problem Set: S.M. Shaheen Sha, Raihat Zaman Neloy
Data Set & Solution: Raihat Zamane Neloy
hide comments
vikrant:
2014-06-11 17:18:32
generalisation requires |
|
Chetan:
2014-06-06 09:17:42
1. I can confirm that the input doesn't respect the constraints.
|
|
Divyank Duvedi:
2014-06-05 21:08:09
Use long long Costed me 3 WA's |
|
Shadow_Walker:
2014-06-01 10:50:06
Nice problem.. 50th :,) |
|
sarelfeniel:
2014-04-30 01:39:51
confirmed on long long. Good problem. |
|
anonymous:
2014-04-27 14:45:47
Could the data set be checked? If I do the input with long long, my program get me WA, if I do it with int it is accepted. AFAIK, that should not be different if the inputs respect the constraints. As when I add an assert(1LL <= num && num <= 1000000000LL) I get an abort (with both version), the hypothesis of an issue in the data set seems to be confirmed. What seems strange is the 344 accepted solution before me. Last edit: 2014-04-27 14:46:52 |
|
கைபà¯à®³à¯à®³:
2014-04-13 14:11:11
@anurag garg I misunderstood that using long long costed you 2 WA. it costed me 2 WA :D |
|
P_Quantum:
2014-03-05 08:30:00
nice prblm..:) |
|
innovolt:
2014-03-03 15:14:57
AC.....plz clarify the meaning of distinct
|
|
rajul:
2014-03-01 08:09:29
AC in 1st go.. 100th on spoj :) |
Added by: | Raihat Zaman Neloy |
Date: | 2014-01-25 |
Time limit: | 1s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: ASM64 |