#ddcc2016finalc. [ddcc_2016_final_c]01文字列

[ddcc_2016_final_c]01文字列

問題文

文字列 ss に対して以下の 33 種類の操作を何度か行い、文字列 TT を作ることを考えます。 ss ははじめ空文字列です。

  1. AA 円払って ss の先頭に0を挿入する。
  2. BB 円払って ss の末尾に1を挿入する。
  3. CC 円払って ss に含まれる0を全て1に、ss に含まれる1を全て0に置換する。

文字列 TT を作るために必要な資金の最小値を求めてください。

制約

  • 1A,,B,,C1091 ≦ A, \\, B, \\, C ≦ 10^{9}
  • 1T2times1051 ≦ |T| ≦ 2 \\times 10^{5}
  • TT01のみからなる文字列
  • A,,B,,CA, \\, B, \\, C はいずれも整数

部分点

  • 1T101≦|T|≦10 を満たすデータセットに正解した場合は、300300 点が与えられる。
  • 追加制約のないデータセットに正解した場合は、上記とは別に 400400 点が与えられる。

入力

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

AA BB CC TT

出力

答えを 11 行に出力せよ。


入力例 1

1 10 2
0011

出力例 1

6
  • はじめに操作 1122 回行います。ss00となります。
  • 次に操作 3311 回行います。 ss11となります。
  • 最後に操作 1122 回行うことで ss0011となり、TT と一致します。

このような手順で操作を行うと、1+1+2+1+1=61+1+2+1+1 = 6 円が必要であり、これが必要な資金の最小値です。

このケースは部分点の制約を満たします。


入力例 2

5 2 8
0000100111100101100101100000100

出力例 2

169

入力例 3

1000000000 1000000000 50
11011001001001

出力例 3

14000000200