8 lines
335 B
Common Lisp
8 lines
335 B
Common Lisp
(defun max-subseq (seq)
|
|
(loop for subsequence in (mapcon (lambda (x) (maplist #'reverse (reverse x))) seq)
|
|
for sum = (reduce #'+ subsequence :initial-value 0)
|
|
with max-subsequence
|
|
maximizing sum into max
|
|
if (= sum max) do (setf max-subsequence subsequence)
|
|
finally (return max-subsequence))))
|