class Solution:
def maxSubArray(self, nums: List[int]) -> int:
n = len(nums)
dp = [0] * (n)
result = float('-inf')
dp[0] = nums[0]
result = dp[0]
if n == 1:
return nums[0]
for i in range(1,n):
dp[i] = max(dp[i - 1] + nums[i], nums[i])
result = max(result,dp[i])
return result