atcoder#ABC286C. [ABC286C] Rotate and Palindrome
[ABC286C] Rotate and Palindrome
配点 : 点
問題文
長さ の文字列 が与えられます。 を の左から 番目の文字とします。
あなたは以下の 種類の操作を好きな順番で 回以上好きな回数行うことができます。
- 円払う。 の左端の文字を右端に移動する。すなわち、 を に変える。
- 円払う。 以上 以下の整数 を選び、 を好きな英小文字で置き換える。
を回文にするためには最低で何円必要ですか?
回文とは
ある文字列 T について、 T の長さを |T| として、全ての整数 i (1 \le i \le |T|) について、 T の前から i 文字目と後ろから i 文字目が同じであるとき、またそのときに限って、 T は回文です。制約
- は英小文字からなる長さ の文字列
- 以外の入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを整数として出力せよ。
5 1 2
rrefa
3
最初に 番目の操作を 回行います。 円払い、 として を e
で置き換えます。 は rrefe
となります。
次に 番目の操作を 回行います。 円払い、 は refer
となります。これは回文です。
よって 円払うことで を回文にすることができました。 円以下払うことで を回文にすることは不可能なので、これが答えです。
8 1000000000 1000000000
bcdfcgaa
4000000000
答えは bit 整数に収まらない場合があることに注意してください。