MaxSliceSum 100% Solution in python

Question

app.codility.com

My Solution

app.codility.com

def solution(A):
    
    allNegative = 1
    maxNegative = -1 * 2**31
    for i in range(len(A)):
        if A[i] > 0:
            allNegative = 0
            break
        elif A[i] > maxNegative:
            maxNegative = A[i]
    
    if allNegative == 1:
        return maxNegative
    
    maxEnding = 0
    maxSlice = 0
    
    for i in range(len(A)):
        maxEnding = max(0, maxEnding+A[i])
        maxSlice = max(maxEnding, maxSlice)
    
    return maxSlice

Note

Pay attention to the negatives!