RosettaCodeData/Task/Maximum-triangle-path-sum/Pluto/maximum-triangle-path-sum.pluto
2026-04-30 12:34:36 -04:00

35 lines
1.1 KiB
Text

local lines <const> = {
" 55",
" 94 48",
" 95 30 96",
" 77 71 26 67",
" 97 13 76 38 45",
" 07 36 79 16 37 68",
" 48 07 09 18 70 26 06",
" 18 72 79 46 59 79 29 90",
" 20 76 87 11 32 07 07 49 18",
" 27 83 58 35 71 11 25 57 29 85",
" 14 64 36 96 27 11 58 56 92 18 55",
" 02 90 03 60 48 49 41 46 33 36 47 23",
" 92 50 48 02 36 59 42 79 72 20 82 77 42",
" 56 78 38 80 39 75 02 71 66 66 01 03 55 72",
" 44 25 67 84 71 67 11 61 40 57 58 89 40 56 36",
" 85 32 25 85 57 48 84 35 47 62 17 01 01 99 89 52",
" 06 71 28 75 94 48 37 10 23 51 06 48 53 18 74 98 15",
"27 02 92 23 08 71 76 84 15 52 92 63 81 10 44 10 69 93"
}
local f = lines:back():split(" ")
local d = f:map(|s| -> tonumber(s))
for row = #lines - 1, 1, -1 do
local l = d[1]
local i = 1
for lines[row]:lstrip():split(" ") as s do
local u = tonumber(s)
local r = d[i + 1]
d[i] = (l > r) ? u + l : u + r
l = r
i += 1
end
end
print(d[1])