RosettaCodeData/Task/Greatest-subsequential-sum/Phix/greatest-subsequential-sum.phix
2016-12-05 23:44:36 +01:00

16 lines
441 B
Text

function maxSubseq(sequence s)
integer this, maxsum = 0, first = 1, last = 0
for i=1 to length(s) do
this = 0
for j=i to length(s) do
this += s[j]
if this>maxsum then
{maxsum,first,last} = {this,i,j}
end if
end for
end for
return s[first..last]
end function
? maxSubseq({-1, -2, 3, 5, 6, -2, -1, 4, -4, 2, -1})
? maxSubseq({})
? maxSubseq({-1, -5, -3})