atcoder#AGC049B. [AGC049B] Flip Digits

[AGC049B] Flip Digits

配点 : 600600

問題文

01 からなる長さ NN の文字列 SS 及び TT が与えられます. あなたは,SS に以下の操作を好きな回数行うことができます.

  • Si=S_i=1 となる ii (2iN2 \leq i \leq N) を選ぶ. そして,SiS_i0 で置き換える. さらに,Si1S_{i-1} を今と異なる文字へ変更する.つまり,操作の直前で Si1S_{i-1}0 であれば 1 に,1 であれば 0 に変更する.

SSTT に一致させることは可能でしょうか? また可能な場合は,そのために必要な最小の操作回数はいくらでしょうか?

制約

  • 1N5×1051 \leq N \leq 5 \times 10^5
  • SS0,1 からなる長さ NN の文字列.
  • TT0,1 からなる長さ NN の文字列.

入力

入力は以下の形式で標準入力から与えられる.

NN

SS

TT

出力

SSTT に一致させることが可能な場合,必要な最小の操作回数を出力せよ. 不可能な場合,1-1 を出力せよ.

3
001
100
2

001 → (i=3i=3 で操作) → 010 → (i=2i=2 で操作) → 100 とすればよいです.

3
001
110
-1
5
10111
01010
5