Максимальная сумма подсписка?

Я запутался в этом вопросе из-за того, что он пытается задать.

Функция записиmssl() (подсписок минимальной суммы), который принимает в качестве входных данных список целых чисел. Затем он вычисляет и возвращает сумму подсписка максимальной суммы входного списка. Подсписок максимальной суммы - это подсписок (срез) входного списка, чья сумма записей самая большая. Определяется, что пустой подсписок имеет сумму 0. Например, подсписок максимальной суммы в списке[4, -2, -8, 5, -2, 7, 7, 2, -6, 5] является[5, -2, 7, 7, 2] и сумма его записей19.

Если бы я использовал эту функцию, она должна вернуть что-то похожее на

>>> l = [4, -2, -8, 5, -2, 7, 7, 2, -6, 5]
>>> mssl(l)
19
>>> mssl([3,4,5])
12
>>> mssl([-2,-3,-5])
0

Как я могу это сделать?

Вот моя текущая попытка, но она не дает ожидаемого результата:

def mssl(x):
    ' list ==> int '
    res = 0
    for a in x:
        if a >= 0:
            res = sum(x)
        return res
    else:
        return 0

Ответы на вопрос(12)

Ваш ответ на вопрос