結果

問題 No.935 う し た ぷ に き あ く ん 笑 ビ - ム
ユーザー tktk_snsn
提出日時 2020-12-26 23:20:14
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 628 bytes
コンパイル時間 382 ms
コンパイル使用メモリ 82,440 KB
実行使用メモリ 198,380 KB
最終ジャッジ日時 2024-09-25 03:23:10
合計ジャッジ時間 10,518 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample -- * 2
other AC * 8 TLE * 1 -- * 49
権限があれば一括ダウンロードができます

ソースコード

diff #

from itertools import accumulate

N = int(input())
S = input()
E = [int(s == "E") for s in S]
A = list(map(int, input().split()))

E = [0] + list(accumulate(E))
A = [0] + list(accumulate(A))

task = []
for l in range(N):
    for r in range(l + 1, N + 1):
        damage = A[r] - A[l]
        kill = E[r] - E[l]
        task.append((damage, ~kill))

Q = int(input())
for i, k in enumerate(map(int, input().split())):
    task.append((k, i))


task.sort()
ans = [-1] * Q

MAX = 0
for a, b in task:
    if b >= 0:
        ans[b] = MAX
    else:
        kill = ~b
        if kill > MAX:
            MAX = kill

print(*ans, sep="\n")
0