結果

問題 No.2095 High Rise
ユーザー terasa
提出日時 2022-10-07 23:15:51
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 224 ms / 2,000 ms
コード長 861 bytes
コンパイル時間 190 ms
コンパイル使用メモリ 82,028 KB
実行使用メモリ 103,596 KB
最終ジャッジ日時 2024-06-12 21:13:50
合計ジャッジ時間 4,011 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 24
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
# import pypyjit
import itertools
import heapq
import math
import bisect
from collections import deque, defaultdict
from functools import lru_cache, cmp_to_key


# for AtCoder Easy test
if __file__ == 'prog.py':
    pass
else:
    sys.setrecursionlimit(10 ** 6)
# pypyjit.set_param('max_unroll_recursion=-1')

input = sys.stdin.readline


def readints(): return map(int, input().split())
def readlist(): return list(readints())
def readstr(): return input()[:-1]


N, M = readints()
A = [readlist() for _ in range(N)]
if N == 1:
    print(0)
    exit()
INF = 1 << 60

dp = [[None for _ in range(M)] for _ in range(N)]
dp[0] = A[0]
for i in range(1, N):
    m = INF
    for j in range(M):
        dp[i][j] = dp[i - 1][j] + A[i][j]
        m = min(m, dp[i][j])
    for j in range(M):
        dp[i][j] = min(dp[i][j], m + A[i][j])
print(min(dp[N - 1]))
0