题库练习 Dense Subsequence
← 上一题 下一题 →

A10623 | Dense Subsequence

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

You are given a string $s$ , consisting of lowercase English letters, and the integer $m$ .

One should choose some symbols from the given string so that any contiguous subsegment of length $m$ has at least one selected symbol. Note that here we choose positions of symbols, not the symbols themselves.

Then one uses the chosen symbols to form a new string. All symbols from the chosen position should be used, but we are allowed to rearrange them in any order.

Formally, we choose a subsequence of indices $1<=i_{1}<i_{2}<...<i_{t}<=|s|$ . The selected sequence must meet the following condition: for every $j$ such that $1<=j<=|s|-m+1$ , there must be at least one selected index that belongs to the segment $[j, j+m-1]$ , i.e. there should exist a $k$ from $1$ to $t$ , such that $j<=i_{k}<=j+m-1$ .

Then we take any permutation $p$ of the selected indices and form a new string $s_{ip1}s_{ip2}...\ s_{ipt}$ .

Find the lexicographically smallest string, that can be obtained using this procedure.

输入格式

The first line of the input contains a single integer $m$ ( $1<=m<=100000$ ).

The second line contains the string $s$ consisting of lowercase English letters. It is guaranteed that this string is non-empty and its length doesn't exceed $100000$ . It is also guaranteed that the number $m$ doesn't exceed the length of the string $s$ .

输出格式

Print the single line containing the lexicographically smallest string, that can be obtained using the procedure described above.

输入输出样例

输入 #1
3
cbabc
输出 #1
a
输入 #2
2
abcab
输出 #2
aab
输入 #3
3
bcabcbaccba
输出 #3
aaabb
C++ 编辑器
输入
输出