RosettaCodeData/Task/Greatest-subsequential-sum/Prolog/greatest-subsequential-sum-2.pro
2016-12-05 22:15:40 +01: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).