結果
問題 |
No.935 う し た ぷ に き あ く ん 笑 ビ - ム
|
ユーザー |
👑 ![]() |
提出日時 | 2021-02-07 19:14:04 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 919 ms / 2,000 ms |
コード長 | 1,030 bytes |
コンパイル時間 | 143 ms |
コンパイル使用メモリ | 81,944 KB |
実行使用メモリ | 93,520 KB |
最終ジャッジ日時 | 2024-07-04 12:14:15 |
合計ジャッジ時間 | 14,464 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 58 |
ソースコード
def Binary_Search_Small_Count(A,x,equal=False,sort=False): """2分探索によって,x未満の要素の個数を調べる. A:リスト x:調べる要素 sort:ソートをする必要があるかどうか(Trueで必要) equal:Trueのときはx"未満"がx"以下"になる """ if sort: A.sort() if A[0]>x or ((not equal) and A[0]==x): return 0 L,R=0,len(A) while R-L>1: C=L+(R-L)//2 if A[C]<x or (equal and A[C]==x): L=C else: R=C return L+1 #================================================ N=int(input()) S=input() A=list(map(int,input().split())) Q=int(input()) K=list(map(int,input().split())) T=[] for i in range(N): U=[] u=0 for j in range(i,N): u+=A[j] U.append(u) T.append(U) V=[0];v=0 for s in S: if s=="E": v+=1 V.append(v) for k in K: X=0 for i in range(N): p=Binary_Search_Small_Count(T[i],k,True) X=max(X,V[i+p]-V[i]) print(X)