#4236. 最小化排序(Minimize Ordering).

最小化排序(Minimize Ordering).

题目描述

给定一个字符串 SS。找出通过重新排列 SS 中的字符得到的字典序最小的字符串 SS'

这里,对于两个不同的字符串 s=s1s2sns = s_1 s_2 \ldots s_nt=t1t2tmt = t_1 t_2 \ldots t_m,当满足以下条件之一时,s<ts < t 在字典序上成立:

  • 存在一个整数 i (1imin(n,m))i\ (1 \leq i \leq \min(n,m)) 使得 si<tis_i < t_i 且对于所有整数 j (1j<i)j\ (1 \leq j < i) 都有 sj=tjs_j=t_j

  • 对于所有整数 i (1imin(n,m))i\ (1 \leq i \leq \min(n,m)) 都有 si=tis_i = t_i,且 n<mn < m

输入格式

输入S

输出格式

输出通过重新排列 SS 中的字符得到的字典序最小的字符串 SS'

样例

aba
aab
zzzz
zzzz

样例解释

【样例1说明】

通过重新排列 aba 可以得到三个字符串:

  • aba
  • aab
  • baa

其中字典序最小的是 aab

数据范围

SS 是一个长度在 112×1052 \times 10^5 之间(包含)的字符串,仅由小写英文字母组成。

来源

  • AtCoder ABC242B