#ddcc2016finalc. [ddcc_2016_final_c]01文字列
[ddcc_2016_final_c]01文字列
問題文
文字列 に対して以下の 種類の操作を何度か行い、文字列 を作ることを考えます。 ははじめ空文字列です。
- 円払って の先頭に
0
を挿入する。 - 円払って の末尾に
1
を挿入する。 - 円払って に含まれる
0
を全て1
に、 に含まれる1
を全て0
に置換する。
文字列 を作るために必要な資金の最小値を求めてください。
制約
- は
0
と1
のみからなる文字列 - はいずれも整数
部分点
- を満たすデータセットに正解した場合は、 点が与えられる。
- 追加制約のないデータセットに正解した場合は、上記とは別に 点が与えられる。
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを 行に出力せよ。
入力例 1
1 10 2
0011
出力例 1
6
- はじめに操作 を 回行います。 は
00
となります。 - 次に操作 を 回行います。 は
11
となります。 - 最後に操作 を 回行うことで は
0011
となり、 と一致します。
このような手順で操作を行うと、 円が必要であり、これが必要な資金の最小値です。
このケースは部分点の制約を満たします。
入力例 2
5 2 8
0000100111100101100101100000100
出力例 2
169
入力例 3
1000000000 1000000000 50
11011001001001
出力例 3
14000000200