Simple c++ Easiest solution with 3 cases
Intuition\nSort the vector to focus mainly on minimum and maximum values.\nFind the cases where we can minimize the score\nMinimum diff can always be made 0 by 
# Intuition\nSort the vector to focus mainly on minimum and maximum values.\nFind the cases where we can minimize the score\nMinimum diff can always be made 0 by making two elements equal.\nTo minimize the maximum diff there can be\nthree cases possible:\n1. First and last element can be made equal to its adjacent value. So, the max diff becomes v[v.size()-2]-v[1] (bcuz we make v[0]=v[1] & v[v.size()-1]=v[v.size()-2])\n2. First 2 elements can be made equal to 3rd elemnt.So, the max diff becomes v[v.size()-1]-v[2] (bcuz we make v[0]=v[1]=v[2])\n3. Last 2 elements can be made equal to last but 3rd element. So, the max diff becomes v[v.size()-3]-v[0] (bcuz we make v[v.size()-1]=v[v.size()-2]=v[v.size()-3])\n\n# Complexity\n- Time complexity: O(nlog(n))\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity: O(1)\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\nclass Solution {\npublic:\n    int minimizeSum(vector<int>& v) {\n        sort(v.begin(),v.end());\n/*\n1st case score: v[v.size()-2]-v[1]+0\n2st case score: v[v.size()-1]-v[2]+0\n3st case score: v[v.size()-3]-v[0]+0\n*/\n        return min(min(v[v.size()-2]-v[1] ,v[v.size()-1]-v[2]),v[v.size()-3]-v[0]);\n    }\n};\n```
['C++']