13 lines
311 B
Raku
13 lines
311 B
Raku
sub max-subseq (*@a) {
|
|
my ($start, $end, $sum, $maxsum) = -1, -1, 0, 0;
|
|
for @a.kv -> $i, $x {
|
|
$sum += $x;
|
|
if $maxsum < $sum {
|
|
($maxsum, $end) = $sum, $i;
|
|
}
|
|
elsif $sum < 0 {
|
|
($sum, $start) = 0, $i;
|
|
}
|
|
}
|
|
return @a[$start ^.. $end];
|
|
}
|