結果
問題 |
No.3266 岩井星人は見ずにはいられない
|
ユーザー |
![]() |
提出日時 | 2025-09-06 14:04:54 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 64 ms / 2,000 ms |
コード長 | 435 bytes |
コンパイル時間 | 264 ms |
コンパイル使用メモリ | 83,020 KB |
実行使用メモリ | 66,316 KB |
最終ジャッジ日時 | 2025-09-06 14:05:01 |
合計ジャッジ時間 | 3,357 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 31 |
ソースコード
N,K=map(int,input().split()) S=input() h=[0]*(N+1) x=0 E=[0]*(N+1) for i in range(N): if S[i]=='1': x+=1 E[i+1]=E[i]+1 else: x-=1 E[i+1]=E[i] h[i+1]=max(h[i],x) P=x t=max(h) l=1 r=2*10**18 z=E[N] while True: if l==r: break m=(l+r)//2 count=m//N pos=m%N d=max(count*x+h[pos],h[pos]) if count>0: d=max(d,(count-1)*x+t,t) score=z*count+E[pos]-d if score>=K: r=m else: l=m+1 print(l)