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