ホームページ > 記事 > ウェブフロントエンド > Codeforces ラウンド #277 (ディビジョン 2)-C.回文変換(贪心)_html/css_WEB-ITnose
回文変換
テストごとの制限時間
1 秒
テストごとのメモリ制限
256 メガバイト
入力
標準入力
出力
標準出力
ナムは遊んでいます彼のコンピュータ上の文字列。この文字列は、n 個の小文字の英字で構成されます。これでは意味がないので、Nam は文字列をより美しくすること、つまり、左、右、上、下の 4 つの矢印キーを使用して文字列を回文にすることにしました
文字列の何らかの記号を指すカーソルがあります。現在、カーソルが位置 i (1?≤?i?≤?n、文字列は 1 から始まるインデックスを使用します) にあるとします。左右の矢印キーは文字列上でカーソルを移動するために使用されます。文字列は循環的です。つまり、Nam が左矢印キーを押すと、i?>?1 の場合はカーソルが i?-?1 の位置に移動し、それ以外の場合は文字列の末尾 (つまり位置 n) に移動します。右矢印キーを押したときも同じことが当てはまります (i?=?n の場合、カーソルは文字列の先頭に表示されます)。
Nam が上矢印キーを押すと、テキスト カーソルが指している文字が に変わります。英語のアルファベットの次の文字 (アルファベットも循環的であると仮定します。つまり、「z」の後に「a」が続きます)。下矢印キーを押したときも同じことが当てはまります。
最初、テキスト カーソルは p の位置にあります。
ナムにはやるべき宿題がたくさんあるので、できるだけ早くこれを完了したいと考えています。文字列を回文にするために矢印キーを押す最小回数を計算して彼を手伝ってもらえますか?
入力
最初の行には、スペースで区切られた 2 つの整数 n (1?≤?n?≤?105) が含まれています。と、p (1?≤?p?≤?n)、Nam の文字列の長さとテキスト カーソルの初期位置です。
次の行には、Nam の文字列の小文字が n 個含まれています。
出力
出力文字列を回文に変更するために必要な最小押下回数。
サンプル テスト
入力
8 3aeabcaez
出力
注
文字列が次のように読める場合、その文字列は回文です。同じ順方向または逆方向です。
サンプル テストでは、最初の Nam の文字列は次のとおりです: (カーソル位置は太字で表示されます)。
最適な解決策では、Nam は次の 6 つの手順を実行できます:
結果は、回文になります。