問題文
N 個のライトが横一列に並んでおり,左から順に 1 から N までの番号が付けられている.それぞれのライトの色は赤,緑,青のいずれかである.ライトの色は文字列 S によって表され,ライト i (1 ≦ i ≦ N) の色は,S の i 文字目が R のとき赤,G のとき緑,B のとき青である.最初すべてのライトは点灯している.
JOI 君は点灯しているライトが 1 つ以上ある限り,以下の 3 種類の操作を好きな順番で好きな回数行うことができる.操作を 1 回も行わなくても構わない.
A円を払って点灯しているライトの中で最も左にあるものを消灯する.B円を払って点灯しているライトの中で最も右にあるものを消灯する.C円を払って点灯しているライトを1つ選び,好きな色へ点灯し直す.
JOI 君は,遠くからこのライトの列を見たときにきれいな白色に見えるようにしたい.そのためには,点灯しているライトを左から見たときの色の並びが RGBRGB...RGB のように RGB(赤緑青)の繰り返しになっている必要がある.ただし,1 つも点灯しているライトが存在しない場合も RGB の繰り返しであるとみなす. GBRGBR や RGBRG などの色の並びは条件を満たさないことに注意せよ.
ライトと操作に必要な金額の情報が与えられたとき,点灯しているライトの色の並びを RGB の繰り返しにするために必要な金額の最小値を求めるプログラムを作成せよ.
制約
1 ≦ N ≦ 200 000.Sは長さNの文字列である.Sの各文字はR,G,Bのいずれかである.1 ≦ A ≦ 109.1 ≦ B ≦ 109.1 ≦ C ≦ 109.N, A, B, Cは整数である.
小課題
- (
4点)N = 3. - (
22点)N ≦ 300. - (
19点)N ≦ 10 000. - (
9点)Nは3の倍数,A = 109,B = 109,C = 1. - (
10点)A = 109,B = 109,C = 1. - (
36点) 追加の制約はない.
入力
入力は以下の形式で与えられる.NSA B C
出力
点灯しているライトの色の並びを RGB の繰り返しにするために必要な金額の最小値を,単位 (円) を省いて 1 行で出力せよ.
入出力例
入力例 1
6
GRBBRG
3 4 5
出力例 1
16
例えば以下のように 4 回の操作を行ったとき,点灯しているライトの色の並びが RGB の繰り返しになる.消灯しているライトを - で表す.
3円を払って点灯しているライトのうち最も左にあるライト1を消灯させる.それぞれのライトの状態は文字列-RBBRGで表される.4円を払って点灯しているライトのうち最も右にあるライト6を消灯させる.それぞれのライトの状態は文字列-RBBR-で表される.4円を払って点灯しているライトのうち最も右にあるライト5を消灯させる.それぞれのライトの状態は文字列-RBB--で表される.5円を払ってライト3を選び,緑色へ点灯し直す.それぞれのライトの状態は文字列-RGB--で表される.
16 円未満の金額を払って点灯しているライトの色の並びを RGB の繰り返しにすることはできないため,16 を出力する.
この入力例は小課題 2,3,6 の制約を満たす.
入力例 2
3
BRG
1000000000 1000000000 1
出力例 2
3
例えば以下のように 3 回の操作を行ったとき,点灯しているライトの色の並びが RGB の繰り返しになる.消灯しているライトを - で表す.
1円を払ってライト2を選び,緑色へ点灯し直す.それぞれのライトの状態は文字列BGGで表される.1円を払ってライト3を選び,青色へ点灯し直す.それぞれのライトの状態は文字列BGBで表される.1円を払ってライト1を選び,赤色へ点灯し直す.それぞれのライトの状態は文字列RGBで表される.
3 円未満の金額を払って点灯しているライトの色の並びを RGB の繰り返しにすることはできないため,3 を出力する.
この入力例は小課題 1,2,3,4,5,6 の制約を満たす.
入力例 3
3
GRB
9 11 14
出力例 3
27
例えば以下のように 3 回の操作を行ったとき,点灯しているライトの色の並びが RGB の繰り返しになる.消灯しているライトを - で表す.
9円を払って点灯しているライトのうち最も左にあるライト1を消灯させる.それぞれのライトの状態は文字列-RBで表される.9円を払って点灯しているライトのうち最も左にあるライト2を消灯させる.それぞれのライトの状態は文字列--Bで表される.9円を払って点灯しているライトのうち最も左にあるライト3を消灯させる.それぞれのライトの状態は文字列---で表される.
27 円未満の金額を払って点灯しているライトの色の並びを RGB の繰り返しにすることはできないため,27 を出力する.1 つも点灯しているライトが存在しない場合も条件を満たすものとすることに注意せよ.
この入力例は小課題 1,2,3,6 の制約を満たす.
入力例 4
9
RGBRGBRGB
1000000000 1000000000 1
出力例 4
0
既にライトの色の並びは RGB の繰り返しになっているため,0 を出力する.
この入力例は小課題 2,3,4,5,6 の制約を満たす.
入力例 5
20
BRGBRGBBGBBBGRRBBBRB
1000000000 1000000000 1
出力例 5
2000000008
この入力例は小課題 2,3,5,6 の制約を満たす.
入力例 6
23
BBGRGBBBBBBGRRGGGGBGGGG
786820955 792349124 710671229
出力例 6
10107224827
この入力例は小課題 2,3,6 の制約を満たす.