結果

問題 No.1283 Extra Fee
ユーザー rlangevinrlangevin
提出日時 2023-02-05 22:34:09
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 852 bytes
コンパイル時間 289 ms
コンパイル使用メモリ 82,664 KB
実行使用メモリ 83,044 KB
最終ジャッジ日時 2024-07-04 08:08:22
合計ジャッジ時間 5,737 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 16 WA * 14
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
readline = sys.stdin.readline

N, M = map(int, readline().split())
inf = 10 ** 18
dp0 = [[inf] * N for i in range(N)]
dp1 = [[inf] * N for i in range(N)]
cost = [[0] * N for i in range(N)]
dp0[0][0] = 0

for i in range(M):
    h, w, c = map(int, readline().split())
    h, w = h - 1, w - 1
    cost[h][w] = c
    
for i in range(N):
    for j in range(N):
        if i - 1 >= 0:
            dp0[i][j] = min(dp0[i][j], dp0[i - 1][j] + cost[i][j])
            dp1[i][j] = min(dp1[i][j], dp1[i - 1][j] + cost[i][j])
            dp1[i][j] = min(dp1[i][j], dp0[i - 1][j])
        if j - 1 >= 0:
            dp0[i][j] = min(dp0[i][j], dp0[i][j - 1] + cost[i][j])
            dp1[i][j] = min(dp1[i][j], dp1[i][j - 1] + cost[i][j])
            dp1[i][j] = min(dp1[i][j], dp0[i][j - 1])
            
print(min(dp0[-1][-1], dp1[-1][-1]) + 2 * (N - 1))
0