結果
問題 |
No.2095 High Rise
|
ユーザー |
👑 |
提出日時 | 2023-01-25 16:05:02 |
言語 | Lua (LuaJit 2.1.1734355927) |
結果 |
AC
|
実行時間 | 453 ms / 2,000 ms |
コード長 | 828 bytes |
コンパイル時間 | 52 ms |
コンパイル使用メモリ | 6,816 KB |
実行使用メモリ | 23,436 KB |
最終ジャッジ日時 | 2024-06-26 20:23:40 |
合計ジャッジ時間 | 3,932 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 24 |
ソースコード
local mmi, mma = math.min, math.max local h, w = io.read("*n", "*n", "*l") local a = {} for i = 1, h do a[i] = {} local s = io.read() for b in s:gmatch("(%d+)") do table.insert(a[i], tonumber(b)) end end if h == 1 then print(0) os.exit() end local dp1, dp2 = {}, {} for i = 1, w do dp1[i] = a[1][i] end for i = 1, h - 1 do local src = i % 2 == 1 and dp1 or dp2 local dst = i % 2 == 1 and dp2 or dp1 local minpos = 1 for j = 2, w do if src[j] <= src[minpos] then minpos = j end end local minval = src[minpos] for j = 1, w do if j ~= minpos then src[j] = mmi(src[j], minval + a[i][j]) end end for j = 1, w do dst[j] = src[j] + a[i + 1][j] end end local tbl = h % 2 == 0 and dp2 or dp1 local ans = tbl[1] for i = 2, w do ans = mmi(ans, tbl[i]) end print(ans)