AT_abc346_d [ABC346D] Gomamayo Sequence
Description
[problemUrl]: https://atcoder.jp/contests/abc346/tasks/abc346_d
`0`, `1` からなる長さ $ N $ の文字列 $ S $ が与えられます。
`0`, `1` からなる長さ $ N $ の文字列 $ T $ は以下の条件を満たすとき、またそのときに限り **良い文字列** であると定義します。
- $ 1\ \leq\ i\ \leq\ N\ -\ 1 $ を満たす整数 $ i $ であって、$ T $ の $ i $ 文字目と $ i\ +\ 1 $ 文字目が一致するようなものがちょうど $ 1 $ つ存在する。
$ i\ =\ 1,2,\ldots,\ N $ について以下の操作を $ 1 $ 度行うか行わないか選ぶことができます。
- $ S $ の $ i $ 文字目が `0` であるとき $ S $ の $ i $ 文字目を `1` に、そうでないとき $ S $ の $ i $ 文字目を `0` に置き換える。操作を行った場合、$ C_i $ のコストがかかる。
$ S $ を良い文字列にするために必要なコストの総和の最小値を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ S $ $ C_1 $ $ C_2 $ $ \ldots $ $ C_N $
Output Format
答えを出力せよ。
Explanation/Hint
### 制約
- $ 2\ \leq\ N\ \leq\ 2\ \times\ 10^5 $
- $ S $ は長さ $ N $ の `0`,`1` からなる文字列
- $ 1\ \leq\ C_i\ \leq\ 10^9 $
- $ N,\ C_i $ は整数
### Sample Explanation 1
$ i\ =\ 1,\ 5 $ に対して操作を行い、$ i\ =\ 2,\ 3,\ 4 $ に対して操作を行わないことで $ S\ = $ `10010` となり、$ S $ は良い文字列となります。このときかかるコストは $ 7 $ であり、コスト $ 7 $ 未満で $ S $ を良い文字列にすることはできないため、$ 7 $ を出力します。