結果

問題 No.2889 Rusk
ユーザー 寝癖
提出日時 2024-09-13 23:08:35
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 580 bytes
コンパイル時間 384 ms
コンパイル使用メモリ 81,944 KB
実行使用メモリ 180,600 KB
最終ジャッジ日時 2024-09-13 23:09:01
合計ジャッジ時間 20,331 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 18 WA * 34
権限があれば一括ダウンロードができます

ソースコード

diff #

N = int(input())
A = [list(map(int, input().split()))+[0] for _ in range(3)]

# dp[i][j][k] := i個目まで決めて、直前の状態がj、移動回数がkのときの最大値
dp = [[[0]*5 for _ in range(3)] for _ in range(N+1)]

for i in range(N):
    for j in range(3):
        for k in range(5):
            for nj in range(3):
                nk = k + abs(j-nj)
                if nk < 5:
                    dp[i+1][nj][nk] = max(dp[i+1][nj][nk], dp[i][j][k] + A[nj][i])

ans = 0
for j in range(3):
    for k in range(5):
        ans = max(ans, dp[N][j][k])

print(ans)

0