結果
問題 | 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] * 5for i in range(n):ndp = [0] * 5ndp[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 = ndpadd = max(dp)dp = [0] * 5for i in range(n):ndp = [0] * 5ndp[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 = ndpadd = max(add, *dp)print(ans + add)