Task

Given a sequence of integers, find a continuous subsequence which maximizes the sum of its elements, that is, the elements of no other single subsequence add up to a value larger than this one.



An empty subsequence is considered to have the sum of   0;   thus if all elements are negative, the result must be the empty sequence.




fcn maxsubseq(s){
   s.reduce(fcn([(sum, seq, maxsum, maxseq)], x){
      sum=sum+x; seq=T(x).extend(seq);
      if(sum < 0)     return(0,T,maxsum,maxseq);
      if (sum>maxsum) return(sum, seq, sum, seq);
		      return(sum, seq, maxsum, maxseq);
   },
   T(0,T,0,T))[3].reverse();   // -->maxseq.reverse()
}