Partial sort for top K numbers
IntuitionApproachComplexity
Time complexity:

Space complexity:
Code
# Intuition
<!-- Describe your first thoughts on how to solve this problem. -->

# Approach
<!-- Describe your approach to solving the problem. -->

# Complexity
- Time complexity:
<!-- Add your time complexity here, e.g. $$O(n)$$ -->

- Space complexity:
<!-- Add your space complexity here, e.g. $$O(n)$$ -->

# Code
```cpp []
class Solution {
public:
    long long maximumHappinessSum(vector<int>& happiness, int k) {

        partial_sort(happiness.begin(), happiness.begin() + k, happiness.end(), greater<int>());

        long long sum = 0;
        for(int i = 0; i < k; i++) {
            sum += max(0, happiness[i] - i);
            if(happiness[i] - i<0)
                sum;
        }
        return sum;
    }
};
```
['Greedy', 'C++']