結果
問題 | No.935 う し た ぷ に き あ く ん 笑 ビ - ム |
ユーザー |
![]() |
提出日時 | 2023-01-26 23:15:34 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 757 ms / 2,000 ms |
コード長 | 483 bytes |
コンパイル時間 | 180 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 77,108 KB |
最終ジャッジ日時 | 2024-06-27 13:43:23 |
合計ジャッジ時間 | 18,911 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 58 |
ソースコード
from bisect import * N = int(input()) S = list(input()) A = list(map(int, input().split())) D = [0] * N for i, s in enumerate(S): if s == "E": D[i] = 1 Ac, Dc = [0] * (N + 1), [0] * (N + 1) for i in range(N): Ac[i + 1] = Ac[i] + A[i] Dc[i + 1] = Dc[i] + D[i] Q = int(input()) K = list(map(int, input().split())) for q in K: ans = 0 for i in range(N + 1): ind = bisect_right(Ac, Ac[i] + q) ans = max(ans, Dc[ind-1] - Dc[i]) print(ans)