atcoder#AGC037E. [AGC037E] Reversing and Concatenating

[AGC037E] Reversing and Concatenating

配点 : 13001300

問題文

高橋君は英小文字からなる長さ NN の文字列 SS を持っています。 高橋君は SS に対して以下の操作を KK 回行うことにしました。

  • SS を反転した文字列を TT として、SSTT をこの順に連結して得られる文字列を UU とする。
  • ある UU の連続する長さ NN の部分文字列を SS' として、SSSS' で置き換える。

最終的な SS として考えられる文字列の内、辞書順で最小のものを求めてください。

制約

  • 1N50001 \leq N \leq 5000
  • 1K1091 \leq K \leq 10^9
  • S=N|S|=N
  • SS は英小文字からなる

入力

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

NN KK

SS

出力

最終的な SS として考えられる文字列の内、辞書順で最小のものを出力せよ。

5 1
bacba
aabca

S=S=bacbaのとき、T=T=abcab, U=U=bacbaabcabであるので S=S'=aabcaとするのが最適です。

10 2
bbaabbbaab
aaaabbaabb