結果

問題 No.2889 Rusk
ユーザー wgrapewgrape
提出日時 2024-11-01 11:20:49
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 758 bytes
コンパイル時間 471 ms
コンパイル使用メモリ 82,368 KB
実行使用メモリ 144,128 KB
最終ジャッジ日時 2024-11-01 11:23:36
合計ジャッジ時間 10,725 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 34 ms
52,548 KB
testcase_01 WA -
testcase_02 AC 36 ms
52,916 KB
testcase_03 WA -
testcase_04 AC 37 ms
53,884 KB
testcase_05 AC 37 ms
53,428 KB
testcase_06 AC 37 ms
53,176 KB
testcase_07 AC 37 ms
53,416 KB
testcase_08 AC 37 ms
53,632 KB
testcase_09 AC 37 ms
52,944 KB
testcase_10 WA -
testcase_11 WA -
testcase_12 WA -
testcase_13 WA -
testcase_14 AC 53 ms
69,388 KB
testcase_15 AC 81 ms
88,408 KB
testcase_16 WA -
testcase_17 AC 70 ms
84,376 KB
testcase_18 WA -
testcase_19 AC 150 ms
125,272 KB
testcase_20 AC 188 ms
128,640 KB
testcase_21 WA -
testcase_22 WA -
testcase_23 AC 133 ms
111,768 KB
testcase_24 AC 193 ms
124,852 KB
testcase_25 WA -
testcase_26 AC 150 ms
125,660 KB
testcase_27 AC 183 ms
131,268 KB
testcase_28 AC 140 ms
118,112 KB
testcase_29 AC 142 ms
121,892 KB
testcase_30 WA -
testcase_31 AC 207 ms
129,640 KB
testcase_32 AC 99 ms
97,412 KB
testcase_33 AC 62 ms
81,340 KB
testcase_34 AC 189 ms
136,828 KB
testcase_35 WA -
testcase_36 AC 190 ms
136,728 KB
testcase_37 AC 202 ms
137,220 KB
testcase_38 WA -
testcase_39 AC 174 ms
137,376 KB
testcase_40 WA -
testcase_41 WA -
testcase_42 WA -
testcase_43 WA -
testcase_44 WA -
testcase_45 AC 143 ms
113,876 KB
testcase_46 AC 84 ms
88,684 KB
testcase_47 AC 94 ms
99,836 KB
testcase_48 AC 161 ms
132,064 KB
testcase_49 AC 34 ms
52,340 KB
testcase_50 AC 34 ms
53,368 KB
testcase_51 AC 37 ms
53,332 KB
testcase_52 AC 37 ms
52,544 KB
testcase_53 AC 37 ms
53,012 KB
testcase_54 AC 190 ms
135,792 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

# dp[i][k] = i枚目まで見たときに、その状態がk = 0:片面焼き開始前、1:片面焼き開始後、2:両面焼き中、3:両面焼き終了片面中、4:片面終了後
N = int(input())
A = list(map(int,input().split()))
B = list(map(int,input().split()))
C = list(map(int,input().split()))
INF = 1 << 60
dp = [[-INF] * 5 for i in range(N)]

# 起こり得る状態を設定
dp[0][0] = A[0]
dp[0][1] = B[0]
dp[0][2] = C[0]

for i in range(1, N):
    dp[i][0] = dp[i - 1][0] + A[i]
    
    dp[i][1] = max(dp[i - 1][0], dp[i - 1][1]) + B[i]
    
    dp[i][2] = max(dp[i - 1][1], dp[i - 1][2]) + C[i]
    
    dp[i][3] = max(dp[i - 1][2], dp[i - 1][3]) + B[i]
    
    dp[i][4] = max(dp[i - 1][3], dp[i - 1][4]) + A[i]
    
print(max(dp[-1]))

0