結果
問題 |
No.3114 0→1
|
ユーザー |
|
提出日時 | 2025-04-20 04:42:57 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,017 bytes |
コンパイル時間 | 387 ms |
コンパイル使用メモリ | 12,032 KB |
実行使用メモリ | 10,240 KB |
最終ジャッジ日時 | 2025-04-20 04:43:00 |
合計ジャッジ時間 | 2,625 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 3 |
other | WA * 30 |
ソースコード
def min_operations(s): n = len(s) operations = 0 s_list = list(s) while True: bad_substrings = [] for i in range(n): for j in range(i+1, n): zeros = 0 ones = 0 for k in range(i, j+1): if s_list[k] == '0': zeros += 1 else: ones += 1 if zeros >= ones: bad_substrings.append((i, j)) if not bad_substrings: return operations zero_frequency = {} for i in range(n): if s_list[i] == '0': count = sum(1 for start, end in bad_substrings if start <= i <= end) zero_frequency[i] = count if not zero_frequency: return -1 best_pos = max(zero_frequency.items(), key=lambda x: x[1])[0] s_list[best_pos] = '1' operations += 1 return operations