Maximum triangle path sum: Difference between revisions

+ D entry
(First draft)
 
(+ D entry)
Line 32:
 
This task is derived from the [http://projecteuler.net/problem=18 Euler Problem #18].
 
=={{header|D}}==
This solution assumes the triangle is in a "triangle.txt" file.
 
<lang d>void main() {
import std.stdio, std.algorithm, std.range, std.file, std.conv;
 
"triangle.txt".File.byLine.map!split.map!(to!(int[])).array.retro
.reduce!((x, y) => zip(y, x, x.dropOne)
.map!(t => t[0] + t[1 .. $].max)
.array)[0]
.writeln;
}</lang>
{{out}}
<pre>1320</pre>