Maximize sum(arr[i]*i) of an Array
Basic Accuracy: 42.19% Submissions: 10859 Points: 1

Given an array A of N integers. Your task is to write a program to find the maximum value of ∑arr[i]*i, where i = 0, 1, 2,…., n – 1.
You are allowed to rearrange the elements of the array.
Note: Since output could be large, hence module 109+7 and then print answer.

Input:
First line of the input contains an integer T, denoting the number of test cases. Then T test case follows. Each testcase contains two lines of input. First line contains an integer N, denoting the size of the array. Next line contains space separated integers denoting the elements of the array.

Output:
For each test case, print the required answer on a new line.

Constraints:
1 <= T <= 103
1 <= N <= 107
1 <= Ai <= N

Example:
Input:

2
5
5 3 2 4 1
3
1 2 3
Output:
40
8

Explanation:
Testcase1: If we arrange the array as 1 2 3 4 5 then we can see that the minimum index will multiply with minimum number and maximum index will multiply with maximum number. So 1*0+2*1+3*2+4*3+5*4=0+2+6+12+20 =40 mod(109+7) = 40

to report an issue on this page.

Editorial

We strongly recommend solving this problem on your own before viewing its editorial. Do you still want to view the editorial?

Yes

All Submissions

My Submissions:

Login to access your submissions.

Output Window