atcoder#ABC242B. [ABC242B] Minimize Ordering

[ABC242B] Minimize Ordering

题目描述

文字列 S S が与えられます。S S の各文字を並び替えて得られる文字列 S S' のうち、辞書順で最小のものを出力してください。

なお、相異なる 2 2 つの文字列 s = s1 s2  sn s\ =\ s_1\ s_2\ \ldots\ s_n t = t1 t2  tm t\ =\ t_1\ t_2\ \ldots\ t_m について、それらが以下の条件のいずれかを満たすとき、辞書順で s < t s\ \lt\ t であるとします。

  • ある整数 i (1  i  min(n,m)) i\ (1\ \leq\ i\ \leq\ \min(n,m)) が存在し、si < ti s_i\ \lt\ t_i かつすべての整数 j (1  j < i) j\ (1\ \leq\ j\ \lt\ i) について sj=tj s_j=t_j
  • すべての整数 i (1  i  min(n,m)) i\ (1\ \leq\ i\ \leq\ \min(n,m)) について si = ti s_i\ =\ t_i かつ、n < m n\ \lt\ m

输入格式

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

S S

输出格式

S S の各文字を並び替えて得られる文字列 S S' のうち、辞書順で最小のものを出力せよ。

题目大意

最开始你拥有一个字符串 SS

SS 的所有字符进行排列得到一个字符串 SS'。请输出所有 SS' 中字典序最小的。

关于字典序:

两个字符串 S=s1,s2,s3snS=s_1,s_2,s_3……s_nT=t1,t2,t3tmT=t_1,t_2,t_3……t_mSS 的字典序小于 TT 当且仅当:

s1=t1,s2=t2,s3=t3sk1=tk1,sk<tks_1=t_1,s_2=t_2,s_3=t_3……s_{k-1}=t_{k-1},s_k<t_k

s1=t1,s2=t2,s3=t3sn1=tn1,sn=tns_1=t_1,s_2=t_2,s_3=t_3……s_{n-1}=t_{n-1},s_n=t_nn<mn<m

aba
aab
zzzz
zzzz

提示

制約

  • S S は英小文字のみからなる長さ 1 1 以上 2 × 105 2\ \times\ 10^5 以下の文字列

Sample Explanation 1

S= S= aba を並び替えて得られる文字列は以下の 3 3 つが考えられます。 - aba - aab - baa この中で辞書順で最小のものは、aab です。