Max-sum(A[], N) //Where N is the size of array { current-sum = 0, seq-end = 0, seq-start = 0; for(seq-end = 0; seq-end < N; seq-end++) { current-sum = current-sum + A[seq-end]; if(current-sum > Max-sum) Max-sum = current-sum; else if (current-sum < 0 && Max-sum == 0) { seq-start = seq-end + 1 current-sum = 0; } else if (currentsum < 0) currentsum = 0; } return(Max-sum); }