Maximum Three-Server Difficulty Score
Problem statement
You are given an integer array difficulty, where each value is the difficulty of one module.
Distribute all modules among three labeled servers. Every module must be assigned to exactly one server, and each server must receive at least one module. Then choose one module from each server. Let their difficulties, in server order, be d1, d2, and d3.
The score is |d1 - d2| + |d2 - d3|. Return the maximum score obtainable over all valid distributions and choices.
FastPrep practice interpretation: The explicit two-term formula and the reported extreme-value strategy determine the judged score. The selected modules must be three distinct array elements, although equal difficulty values are allowed.
Function
maximumDifficultyScore(difficulty: int[]) → longExamples
Example 1
difficulty = [1,4,7,10]return = 15Place difficulties 1, 10, and 4 on servers one, two, and three. The score is |1 - 10| + |10 - 4| = 9 + 6 = 15.
Example 2
difficulty = [5,5,5]return = 0Every selected difficulty is 5, so both absolute differences are 0.
Example 3
difficulty = [2,3,100]return = 195Use 100 as d2 and the other two values as the endpoints. The score is |2 - 100| + |100 - 3| = 98 + 97 = 195.
Constraints
3 <= difficulty.length <= 1000001 <= difficulty[i] <= 10^9