結果
問題 |
No.2328 Build Walls
|
ユーザー |
|
提出日時 | 2023-05-28 15:24:30 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 849 bytes |
コンパイル時間 | 384 ms |
コンパイル使用メモリ | 82,312 KB |
実行使用メモリ | 81,712 KB |
最終ジャッジ日時 | 2024-12-27 06:28:53 |
合計ジャッジ時間 | 4,737 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 14 WA * 20 |
ソースコード
H, W = map(int, input().split()) A = [[0 for i in range(W)]] + [list(map(int, input().split())) for i in range(H-2)] + [[0 for i in range(W)]] d = [-1, 0, 1] ans = 10**10 for i in range(1, H-1): now = i cunt = 0 now_2 = i ok = True if A[now][0] != -1: cunt += A[now][0] else: continue for j in range(1, W): wall_now = 10**10 for k in d: if now + k <= 0 or now + k >= H-1: continue if A[now+k][j] == -1: continue if wall_now > A[now+k][j]: wall_now = A[now+k][j] now_2 = i+k if wall_now == 10**10: ok = False break now = now_2 cunt += wall_now if ok: ans = min(ans, cunt) if ans == 10**10: print(-1) else: print(ans)