1402. Reducing Dishes (Hard) - TengnanYao/daily_leetcode GitHub Wiki
class Solution(object):
def maxSatisfaction(self, satisfaction):
"""
:type satisfaction: List[int]
:rtype: int
"""
satisfaction.sort()
result = sum([satisfaction[j] * (j + 1) for j in range(len(satisfaction))])
s = sum(satisfaction)
for num in satisfaction:
if num >= 0:
break
result = max(result, result - s)
s -= num
return result