結果

問題 No.935 う し た ぷ に き あ く ん 笑 ビ - ム
コンテスト
ユーザー vjudge1
提出日時 2026-01-03 17:40:37
言語 Python3
(3.14.2 + numpy 2.4.0 + scipy 1.16.3)
結果
WA  
実行時間 -
コード長 712 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 694 ms
コンパイル使用メモリ 21,412 KB
実行使用メモリ 15,628 KB
最終ジャッジ日時 2026-01-03 17:40:49
合計ジャッジ時間 11,138 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1 WA * 1
other AC * 4 WA * 54
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

import bisect
n = int(input())
s = input().strip()
a = list(map(int, input().split()))
q = int(input())
ks = list(map(int, input().split()))
pref_sum = [0]
pref_e = [0]
for i in range(n):
    pref_sum.append(pref_sum[-1] + a[i])
    pref_e.append(pref_e[-1] + (s[i] == 'E'))
segments = []
r = 0
for l in range(n):
    if r < l:
        r = l
    while r < n:
        segments.append((pref_sum[r+1] - pref_sum[l], pref_e[r+1] - pref_e[l]))
        r += 1
segments.sort()
best = []
mx = 0
for sm, cnt in segments:
    mx = max(mx, cnt)
    best.append((sm, mx))
sums = [x[0] for x in best]
vals = [x[1] for x in best]
for k in ks:
    idx = bisect.bisect_right(sums, k) - 1
    print(vals[idx] if idx >= 0 else 0)
0