<pre name="code" class="python">def maxarr(A):
#inv: A[begin,ending-1] is the max_sum in A[0,i] max_ending_here is max_arr end with A[i-1] max_so_far is max_sum of A[0,i-1]
max_ending_here=max_so_far=0;
begin=ending=tmpbegin=0
for i in range(len(A)):
if(max_ending_here+A[i]<A[i]):
max_ending_here=A[i]
tmpbegin=i
else:
max_ending_here+=A[i]
if(max_so_far<max_ending_here):
max_so_far=max_ending_here
begin=tmpbegin;
ending=i+1
return begin,ending,max_so_far;
A=[13,-3,-25,20,-3,-16,-23,18,20,-7,12,-5,-22,15,-4,7]
A=[]
print(maxarr(A))