------
## 最终结论
```python
def maxSatisfaction(satisfaction):
    satisfaction.sort(reverse=True)
    max_sum = 0
    current_sum = 0
    for s in satisfaction:
        if current_sum + s > 0:
            current_sum += s
            max_sum += current_sum
        else:
            break
    return max_sum

# Example usage:
print(maxSatisfaction([-1, -8, 0, 5, -9]))  # Output: 14
print(maxSatisfaction([4, 3, 2]))           # Output: 20
print(maxSatisfaction([-1, -4, -5]))        # Output: 0
print(maxSatisfaction([-2, 5, -1, 0, 3, -3])) # Output: 35
```