import math

def max_sub_array(nums):
    ans = -math.inf
    summ = 0

    for num in nums:
        summ = max(num, summ + num)
        ans = max(ans, summ)

    return ans
def pr(ok): print("Ok" if ok else "Error")

pr(max_sub_array([-2,1,-3,4,-1,2,1,-5,4]) == 6)
pr(max_sub_array([1]) == 1)
pr(max_sub_array([5,4,-1,7,8]) == 23)