結果
問題 |
No.3114 0→1
|
ユーザー |
|
提出日時 | 2025-04-23 17:01:21 |
言語 | Ruby (3.4.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 795 bytes |
コンパイル時間 | 410 ms |
コンパイル使用メモリ | 8,228 KB |
実行使用メモリ | 31,488 KB |
最終ジャッジ日時 | 2025-04-23 17:01:31 |
合計ジャッジ時間 | 9,568 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | WA * 30 |
コンパイルメッセージ
Syntax OK
ソースコード
n = gets.to_i s = gets.chomp.chars.map(&:to_i) a = 0 z = Array.new(n) z.fill(0) s.each_cons(2).with_index do |(x, y), i| z[i] += 1 if y == 0 z[i + 1] += 1 if x == 0 end (0...(n - 2)).each do |i| next unless s[i] == 0 && s[i + 1] == 1 && s[i + 2] == 0 a += 1 nxi = z[i] > z[i + 2] ? i : i + 2 s[nxi] = 1 z[nxi - 1] -= 1 if nxi > 1 z[nxi + 1] -= 1 if nxi < n - 1 end (0...(n - 1)).each do |i| next unless s[i] == 0 && s[i + 1] == 0 a += 1 nxi = z[i] > z[i + 1] ? i : i + 1 s[nxi] = 1 z[nxi - 1] -= 1 if nxi > 1 z[nxi + 1] -= 1 if nxi < n - 1 end (0...(n - 2)).each do |i| next unless s[i] == 0 && s[i + 1] == 1 && s[i + 2] == 0 a += 1 nxi = z[i] > z[i + 2] ? i : i + 2 s[nxi] = 1 z[nxi - 1] -= 1 if nxi > 1 z[nxi + 1] -= 1 if nxi < n - 1 end puts a