AT_abc393_d [ABC393D] Swap to Gather
Description
`0` および `1` からなる長さ $ N $ の文字列 $ S $ が与えられます。 ここで、 $ S $ には `1` が $ 1 $ つ以上含まれることが保証されます。
あなたは、以下の操作を繰り返し( $ 0 $ 回でも良い)行うことができます。
- $ 1\leq i\leq N-1 $ を満たす整数 $ i $ を選び、 $ S $ の $ i $ 文字目と $ i+1 $ 文字目を入れ替える。
すべての `1` がひとかたまりになった状態にするために必要な操作回数の最小値を求めてください。
なお、すべての `1` がひとかたまりになっているとは、ある整数 $ l,r\ (1\leq l\leq r\leq N) $ が存在し、 $ S $ の $ i $ 文字目は $ l\leq i\leq r $ ならば `1`、そうでないならば `0` であることをいいます。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ S $
Output Format
答えを出力せよ。
Explanation/Hint
### Sample Explanation 1
例えば、以下のように操作を $ 3 $ 回行うと、すべての `1` がひとかたまりになります。
- $ i=2 $ を選び、 $ S $ の $ 2 $ 文字目と $ 3 $ 文字目を入れ替える。 $ S= $ `0011001` になる。
- $ i=6 $ を選び、 $ S $ の $ 6 $ 文字目と $ 7 $ 文字目を入れ替える。 $ S= $ `0011010` になる。
- $ i=5 $ を選び、 $ S $ の $ 5 $ 文字目と $ 6 $ 文字目を入れ替える。 $ S= $ `0011100` になる。
$ 2 $ 回以下の操作ですべての `1` をひとかたまりにすることはできないため、答えは $ 3 $ です。
### Sample Explanation 2
既にすべての `1` がひとかたまりになっているため、操作は必要ありません。
### Constraints
- $ 2\leq N\leq 5\times 10^5 $
- $ N $ は整数
- $ S $ は `0` および `1` からなる長さ $ N $ の文字列
- $ S $ には `1` が $ 1 $ つ以上含まれる