Given a list of integers, find the largest sum of a contiguous subsequence.

Input= {1,2,3,4,5,-1,7,-4,-2}, Output=21 and print the sub-array which is {1,2,3,4,5,-1,7}

I am getting 15.

LargestContiguousSum[numbers_List] := 
  

    Module[{maxcurrent = numbers[[1]], maximumglobal = numbers[[1]], i},
    For[i = 2, i < Length[numbers], i++, 
    maxcurrent = Max[numbers[[i]], maxcurrent + numbers[[i]]]; 
    If[maxcurrent > maximumglobal, maximumglobal = maxcurrent]]; 
   maximumglobal];
LargestContiguousSum[{1, 2, 3, 4, 5, -1, 7}]