結果
問題 |
No.935 う し た ぷ に き あ く ん 笑 ビ - ム
|
ユーザー |
![]() |
提出日時 | 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 |
ソースコード
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")