結果
| 問題 |
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)