結果
問題 | No.1283 Extra Fee |
ユーザー |
![]() |
提出日時 | 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 |
ソースコード
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))