TopCoder

User's AC Ratio

100.0% (1/1)

Submission's AC Ratio

33.3% (1/3)

Tags

Description

小風現在手上有一個字串 $s$,有天他玩著玩著突然想要對字串做一些有趣的操作,他想把字串切成至多 $k$ 份並且將每一段子字串都翻轉,他想要知道他可以獲得的最小字典序字串長甚麼樣子,請你幫幫它吧。 正式來說,你會收到一個字串 $s$ 和一個正整數 $k$,若小風將字串拆解成 $s=t_1t_2\ldots t_m$,其中 $1 \leq m \leq k$,那麼翻轉後得到的新字串為 $s'=t_1^ rt_2^ r \ldots t_m^ r$,其中 $t^ r$ 為 $t$ 翻轉後得到的字串。

請特別注意,小風可以選擇不進行操作。

Input Format

輸入第一行有兩個正整數 $n, k$,分別代表字串長度以及可以切的段數。

輸入第二行有一個字串 $s$。

  • $1 \le k \le n \le 2 \times 10^ 6$
  • $|s| = n$
  • $s$ 由小寫英文字母組成

Output Format

對於每組輸入,請輸出一行字串代表可以得到的最小字典序字串 $s'$。

Sample Input 1

3 2
aba

Sample Output 1

aab

Sample Input 2

10 2
aababbaacd

Sample Output 2

aabbabaadc

Sample Input 3

6 3
bababa

Sample Output 3

ababab

Hints

請注意不要輸出多餘空白。

Problem Source

IOICamp 2020 Day3 pA

Subtasks

No. Testdata Range Constraints Score
1 0~2 範例測資 0
2 0~23 無額外限制 100

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 524288 65536 1 2
1 1000 524288 65536 1 2
2 1000 524288 65536 1 2
3 1000 524288 65536 2
4 1000 524288 65536 2
5 1000 524288 65536 2
6 1000 524288 65536 2
7 1000 524288 65536 2
8 1000 524288 65536 2
9 1000 524288 65536 2
10 1000 524288 65536 2
11 1000 524288 65536 2
12 1000 524288 65536 2
13 1000 524288 65536 2
14 1000 524288 65536 2
15 1000 524288 65536 2
16 1000 524288 65536 2
17 1000 524288 65536 2
18 1000 524288 65536 2
19 1000 524288 65536 2
20 1000 524288 65536 2
21 1000 524288 65536 2
22 1000 524288 65536 2
23 1000 524288 65536 2