def max_sum_slice(xs): if not xs: return 0 current_max = 0 max_so_far = 0 for x in xs: current_max = max(0, current_max + x) max_so_far = max(max_so_far, current_max) return max_so_far