結果
| 問題 |
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)
ゼット