結果
問題 | No.2889 Rusk |
ユーザー | 👑 KA37RI |
提出日時 | 2024-09-13 22:47:36 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 196 ms / 2,000 ms |
コード長 | 633 bytes |
コンパイル時間 | 385 ms |
コンパイル使用メモリ | 82,096 KB |
実行使用メモリ | 116,608 KB |
最終ジャッジ日時 | 2024-09-13 22:47:44 |
合計ジャッジ時間 | 8,154 ms |
ジャッジサーバーID (参考情報) |
judge6 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 52 |
ソースコード
n = int(input()) a = [int(x) for x in input().split()] b = [int(x) for x in input().split()] c = [int(x) for x in input().split()] # 0: [0] # 1: [0|1] # 2: [0|1|0] # 3: [0|1|2] # 4: [0|1|0|1] # 5: [0|1|2|1] # 6: [0|1|0|1|0] # 7: [0|1|2|1|0] ans = [-10 ** 15] * 8 ans[0] = 0 for i in range(n): nxt = [0] * 8 nxt[0] = ans[0] + a[i] nxt[1] = max(ans[0], ans[1]) + b[i] nxt[2] = max(ans[1], ans[2]) + a[i] nxt[3] = max(ans[0], ans[1], ans[3]) + c[i] nxt[4] = max(ans[2], ans[4]) + b[i] nxt[5] = max(ans[3], ans[5]) + b[i] nxt[6] = max(ans[4], ans[6]) + a[i] nxt[7] = max(ans[5], ans[7]) + a[i] ans = nxt print(max(ans))