Get Maximum Sum of Strengths
Learn this problemProblem statement
Given an array arr that contains n integers, the following operation can be performed on it any number of times (possibly zero):
Choose any index i where 0 ≤ i < n - 1 and swap arr[i] with arr[i + 1]. Each element of the array can be swapped at most once during the whole process.
The strength of index i is defined as arr[i] * (i + 1) using 0-based indexing. Find the maximum possible sum of the strength of all indices after optimal swaps. Mathematically, maximize the following:
Function
getMaximumSumOfStrengths(arr: int[]) → long
Complete the function getMaximumSumOfStrengths in the editor below.
getMaximumSumOfStrengths has the following parameter:
int arr[n]: the initial array
Returns
long int: the maximum sum of strengths
Examples
Example 1
arr = [1, 9, 7, 3, 2]return = 66
It is optimal to swap (arr[2], arr[3]). The final array is arr[] = [1, 9, 3, 7, 2]. The sum of strengths (1*1 + 2*9 + 3*3 + 4*7 + 5*2) = 66, which is the maximum possible.
Example 2
arr = [2, 1, 4, 3]return = 30
It is optimal to swap (arr[0], arr[1]) and (arr[2], arr[3]). The final array is arr[] = [1, 2, 3, 4]. The sum of strengths (1*1 + 2*2 + 3*3 + 4*4) = 30, which is the maximum possible.
Example 3
arr = [1, 2, 5]return = 20
No swaps are needed as the array is already in optimal order. The sum of strengths (1*1 + 2*2 + 3*5) = 20, which is the maximum possible.
Constraints
1 ≤ n ≤ 10^51 ≤ arr[i] ≤ 10^5More Salesforce problems
- Longest Increasing SubsequencePHONE SCREEN · Seen Jul 2026
- Maximal SquarePHONE SCREEN · Seen Jul 2026
- Minimize Total Input Cost (for LTMS)Seen Jun 2026
- Count Prime StringsONSITE INTERVIEW · Seen Jun 2026
- Final Pod Counts After LogsOA · Seen May 2026
- ATM Queue Exit OrderPHONE SCREEN · Seen May 2026
- Good Ways to Split an ArrayPHONE SCREEN · Seen May 2026
- Generate Seen Binary StringsOA · Seen May 2026