class Solution:
    def maxsumofSubarray(self , arr ):
        # write code here
        global_max = 0
        max_cache = 0
        for i in arr:
            max_cache = max(0, i + max_cache)
            if global_max < max_cache:
                global_max = max_cache
        return global_max