結果
| 問題 |
No.935 う し た ぷ に き あ く ん 笑 ビ - ム
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2022-03-13 22:45:49 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 156 ms / 2,000 ms |
| コード長 | 626 bytes |
| コンパイル時間 | 255 ms |
| コンパイル使用メモリ | 82,080 KB |
| 実行使用メモリ | 76,984 KB |
| 最終ジャッジ日時 | 2024-09-19 06:23:52 |
| 合計ジャッジ時間 | 6,728 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 58 |
ソースコード
N = int(input())
S = input()
A = list(map(int,input().split()))
teki = [0] * (N + 1)
for i in range(N):
teki[i+1] = teki[i]
if S[i] == "E":
teki[i+1] += 1
def calc(k):
right = 0
now = 0
ans = 0
for left in range(N):
while right < N and now + A[right] <= k:
now += A[right]
right += 1
count = teki[right] - teki[left]
if count > ans:
ans = count
if left == right:
right += 1
else:
now -= A[left]
return ans
Q = int(input())
K = list(map(int,input().split()))
for k in K:
print(calc(k))