結果

問題 No.2889 Rusk
ユーザー 寝癖
提出日時 2024-09-13 23:10:00
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 617 bytes
コンパイル時間 333 ms
コンパイル使用メモリ 82,176 KB
実行使用メモリ 259,008 KB
最終ジャッジ日時 2024-09-13 23:10:28
合計ジャッジ時間 24,164 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 29 WA * 23
権限があれば一括ダウンロードができます

ソースコード

diff #

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

inf = float('inf')

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

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