結果
| 問題 | No.935 う し た ぷ に き あ く ん 笑 ビ - ム | 
| コンテスト | |
| ユーザー |  timi | 
| 提出日時 | 2020-10-26 14:00:24 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 150 ms / 2,000 ms | 
| コード長 | 614 bytes | 
| コンパイル時間 | 277 ms | 
| コンパイル使用メモリ | 82,788 KB | 
| 実行使用メモリ | 77,196 KB | 
| 最終ジャッジ日時 | 2024-07-21 21:24:11 | 
| 合計ジャッジ時間 | 6,352 ms | 
| ジャッジサーバーID (参考情報) | judge3 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 2 | 
| other | AC * 58 | 
ソースコード
N=int(input())
S=input()
A=list(map(int, input().split()))
Q=int(input())
K=list(map(int, input().split()))
E=[0]
H=[0]
e=0
if S=='W'*N:
    for i in range(Q):
        print(0)
    exit()
for i in S:
    if i=='E':
        e+=1 
    E.append(e)
for i in range(N):
    H.append(H[-1]+A[i])
D={}
for l in range(N):
    for r in range(l,N):
        e=E[r+1]-E[l]
        h=H[r+1]-H[l]
        if e not in D:
            D[e]=h
        else:
            D[e]=min(D[e],h)
ans=[]
t=S.count('E')
for i in range(1,t+1):
    ans.append(D[i])
import bisect
for i in range(Q):
    f=bisect.bisect_right(ans,K[i])
    print(f)
            
            
            
        