RosettaCodeData/Task/Greatest-subsequential-sum/Prolog/greatest-subsequential-sum-2.pro
2023-07-01 13:44:08 -04:00

8 lines
217 B
Prolog

subseq(Sub, Seq) :- suffix(X, Seq), prefix(Sub, X).
maxsubseq(List, Sub, Sum) :-
findall(X, subseq(X, List), Subs),
maplist(sum_list, Subs, Sums),
max_list(Sums, Sum),
nth(N, Sums, Sum),
nth(N, Subs, Sub).