結果
問題 | No.1433 Two color sequence |
ユーザー | ygd. |
提出日時 | 2021-03-19 22:01:27 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 136 ms / 2,000 ms |
コード長 | 851 bytes |
コンパイル時間 | 313 ms |
コンパイル使用メモリ | 82,144 KB |
実行使用メモリ | 131,456 KB |
最終ジャッジ日時 | 2024-11-18 22:20:13 |
合計ジャッジ時間 | 4,014 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 |
ソースコード
N = int(input()) S = str(input()) A = list(map(int,input().split())) A0 = []; A1= [] for i in range(N): if S[i] == "R": val0 = A[i] val1 = -A[i] else: val0 = -A[i] val1 = A[i] A0.append(val0) A1.append(val1) #print(A0,A1) ans0 = 0 temp0 = 0 store0 = 0 for i in range(N): if A0[i] > 0: #temp0 += A0[i] store0 += A0[i] else: #temp0 = 0 store0 += A0[i] if store0 < 0: store0 = 0 #print(temp0,store0,A0[i]) ans0 = max(ans0,store0) #print(ans0) ans1 = 0 temp1 = 0 store1 = 0 for i in range(N): if A1[i] > 0: #temp1 += A1[i] store1 += A1[i] else: #temp1 = 0 store1 += A1[i] if store1 < 0: store1 = 0 #print(temp1,store1,A[i]) ans1 = max(ans1,store1) #print(ans1) print(max(ans0,ans1))