N 個のライトが横一列に並んでおり,左から順に 1 から N までの番号が付けられている.それぞれのライトの色は赤,緑,青のいずれかである.ライトの色は文字列 S によって表され,ライト i (1 ≦ i ≦ N) の色は,S の i 文字目が R
のとき赤,G
のとき緑,B
のとき青である.最初すべてのライトは点灯している.
JOI 君は点灯しているライトが 1 つ以上ある限り,以下の 3 種類の操作を好きな順番で好きな回数行うことができる.操作を 1 回も行わなくても構わない.
JOI 君は,遠くからこのライトの列を見たときにきれいな白色に見えるようにしたい.そのためには,点灯しているライトを左から見たときの色の並びが RGBRGB...RGB
のように RGB
(赤緑青)の繰り返しになっている必要がある.ただし,1 つも点灯しているライトが存在しない場合も RGB
の繰り返しであるとみなす. GBRGBR
や RGBRG
などの色の並びは条件を満たさないことに注意せよ.
ライトと操作に必要な金額の情報が与えられたとき,点灯しているライトの色の並びを RGB
の繰り返しにするために必要な金額の最小値を求めるプログラムを作成せよ.
R
,G
,B
のいずれかである.
入力は以下の形式で与えられる.
N
S
A B C
点灯しているライトの色の並びを RGB
の繰り返しにするために必要な金額の最小値を,単位 (円) を省いて 1 行で出力せよ.
6 GRBBRG 3 4 5
16
例えば以下のように 4 回の操作を行ったとき,点灯しているライトの色の並びが RGB
の繰り返しになる.消灯しているライトを -
で表す.
-RBBRG
で表される.-RBBR-
で表される.-RBB--
で表される.-RGB--
で表される.
16 円未満の金額を払って点灯しているライトの色の並びを RGB
の繰り返しにすることはできないため,16 を出力する.
3 BRG 1000000000 1000000000 1
3
例えば以下のように 3 回の操作を行ったとき,点灯しているライトの色の並びが RGB
の繰り返しになる.消灯しているライトを -
で表す.
BGG
で表される.BGB
で表される.RGB
で表される.
3 円未満の金額を払って点灯しているライトの色の並びを RGB
の繰り返しにすることはできないため,3 を出力する.
3 GRB 9 11 14
27
例えば以下のように 3 回の操作を行ったとき,点灯しているライトの色の並びが RGB
の繰り返しになる.消灯しているライトを -
で表す.
-RB
で表される.--B
で表される.---
で表される.
27 円未満の金額を払って点灯しているライトの色の並びを RGB
の繰り返しにすることはできないため,27 を出力する.1 つも点灯しているライトが存在しない場合も条件を満たすものとすることに注意せよ.
9 RGBRGBRGB 1000000000 1000000000 1
0
既にライトの色の並びは RGB
の繰り返しになっているため,0 を出力する.
20 BRGBRGBBGBBBGRRBBBRB 1000000000 1000000000 1
2000000008
23 BBGRGBBBBBBGRRGGGGBGGGG 786820955 792349124 710671229
10107224827
情報オリンピック日本委員会作 『第 23 回日本情報オリンピック (JOI 2023/2024) 二次予選競技課題』