結果
問題 | No.2889 Rusk |
ユーザー |
👑 |
提出日時 | 2024-09-13 21:32:42 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 221 ms / 2,000 ms |
コード長 | 703 bytes |
コンパイル時間 | 340 ms |
コンパイル使用メモリ | 82,048 KB |
実行使用メモリ | 134,752 KB |
最終ジャッジ日時 | 2024-09-13 21:33:21 |
合計ジャッジ時間 | 9,263 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 52 |
ソースコード
n = int(input()) A = list(map(int, input().split())) B = list(map(int, input().split())) C = list(map(int, input().split())) for i in range(n): B[i] -= A[i] C[i] -= A[i] ans = sum(A) dp = [0] * 5 for i in range(n): ndp = [0] * 5 ndp[0] = dp[0] ndp[1] = max(dp[0], dp[1]) + B[i] ndp[2] = max(dp[0], dp[1], dp[2]) + C[i] ndp[3] = max(dp[2], dp[3]) + B[i] ndp[4] = max(dp[3], dp[4]) dp = ndp add = max(dp) dp = [0] * 5 for i in range(n): ndp = [0] * 5 ndp[0] = dp[0] ndp[1] = max(dp[0], dp[1]) + B[i] ndp[2] = max(dp[1], dp[2]) ndp[3] = max(dp[2], dp[3]) + B[i] ndp[4] = max(dp[3], dp[4]) dp = ndp add = max(add, *dp) print(ans + add)