# your code goes here
class Solution(object):
def maxSum(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
stack = []
for num in nums:
if num not in stack:
stack.append(num)
_sum = 0
if len(stack) == 1:
_sum = stack[0]
elif max(stack) > 0:
for i in range(len(stack)):
if _sum < _sum+stack[i]:
_sum += stack[i]
else:
_sum = max(stack)
return _sum
return sum(stack)
IyB5b3VyIGNvZGUgZ29lcyBoZXJlCmNsYXNzIFNvbHV0aW9uKG9iamVjdCk6CiAgICBkZWYgbWF4U3VtKHNlbGYsIG51bXMpOgogICAgICAgICIiIgogICAgICAgIDp0eXBlIG51bXM6IExpc3RbaW50XQogICAgICAgIDpydHlwZTogaW50CiAgICAgICAgIiIiCiAgICAgICAgc3RhY2sgPSBbXQogICAgICAgIGZvciBudW0gaW4gbnVtczogCiAgICAgICAgICAgIGlmIG51bSBub3QgaW4gc3RhY2s6CiAgICAgICAgICAgICAgICBzdGFjay5hcHBlbmQobnVtKQogICAgICAgIAogICAgICAgIF9zdW0gPSAwCiAgICAgICAgaWYgbGVuKHN0YWNrKSA9PSAxOgogICAgICAgICAgICBfc3VtID0gc3RhY2tbMF0KCiAgICAgICAgZWxpZiBtYXgoc3RhY2spID4gMDogCiAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKGxlbihzdGFjaykpOgogICAgICAgICAgICAgICAgaWYgX3N1bSA8IF9zdW0rc3RhY2tbaV06CiAgICAgICAgICAgICAgICAgICAgX3N1bSArPSBzdGFja1tpXQogICAgICAgIGVsc2U6IAogICAgICAgICAgICBfc3VtID0gbWF4KHN0YWNrKQogICAgICAgIHJldHVybiBfc3VtCiAgICAgICAgCiAgICAgICAgcmV0dXJuIHN1bShzdGFjayk=