Explanation and C++ Solution
Intuition\n Describe your first thoughts on how to solve this problem. \nIf we make two numbers equal, we can make the low score equal to 0. So only thing left 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\nIf we make two numbers equal, we can make the __low__ score equal to `0`. So only thing left is to find minimum __high__ score.\nThe __high__ score will depend on the minimum and the maximum value in the array. So, we should either decrease the maximum values or increase the minimum values. There are __three__ posibilitites:\n- We decrease the top two values to third highest value.\n- We increase the bottom two value to third smallest value.\n- We increase the bottom value to second smallest value and decrease the top value to second highest value.\n\nIn all the above cases, __low__ will be `0`.\n\n# Complexity\n- Time complexity: O(1)\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>& nums) {\n        int n = nums.size();\n        if (n == 3) return 0;\n        sort(nums.begin(), nums.end());\n        return min(nums[n - 1] - nums[2], min(nums[n - 3] - nums[0], nums[n - 2] - nums[1]));\n    }\n};\n```
['Math', 'Sorting', 'C++']