結果
| 問題 |
No.3266 岩井星人は見ずにはいられない
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-09-06 15:48:36 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 2,115 bytes |
| コンパイル時間 | 374 ms |
| コンパイル使用メモリ | 83,016 KB |
| 実行使用メモリ | 74,916 KB |
| 最終ジャッジ日時 | 2025-09-06 15:48:40 |
| 合計ジャッジ時間 | 3,339 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 26 WA * 5 |
ソースコード
import sys
n, a = map(int, input().split())
s = list(input())
now = 0
cnt = 0
for i in range(n):
if s[i] == "0":
now -= 1
else:
if now == 0:
continue
else:
now += 1
cnt += 1
if cnt == a:
print(i+1)
sys.exit()
ans = 0
if now == 0:
ans = (a // cnt) * n
a %= cnt
for i in range(n):
ans += 1
if s[i] == "0":
now -= 1
else:
if now == 0:
continue
else:
now += 1
a -= 1
if a == 0:
break
else:
new_now = now
new_cnt = 0
for i in range(n):
if s[i] == "0":
new_now -= 1
else:
if new_now == 0:
continue
else:
new_now += 1
new_cnt += 1
if new_now == now:
if a > cnt:
a -= cnt
ans += n
if a > new_cnt:
if a % new_cnt == 0:
ans += ((a // new_cnt) - 1) * n
a = new_cnt
else:
ans += (a // new_cnt) * n
a %= new_cnt
for i in range(n):
ans += 1
if s[i] == "0":
now -= 1
else:
if now == 0:
continue
else:
now += 1
a -= 1
if a == 0:
break
else:
if a > cnt:
a -= cnt
ans += n
cnt_1 = s.count("1")
if a > cnt_1:
if a % cnt_1 == 0:
ans += ((a // cnt_1) - 1) * n
a = cnt_1
else:
ans += (a // cnt_1) * n
a %= cnt_1
for i in range(n):
ans += 1
if s[i] == "1":
a -= 1
if a == 0:
break
print(ans)