No.927 Second Permutation

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 通常問題
タグ : / 解いたユーザー数 166
作問者 : leaf_1415leaf_1415 / テスター : tempura_pptempura_pp
0 ProblemId : 2795 / 出題時の順位表
問題文最終更新日: 2019-05-02 04:01:33

問題文

正整数$X$が与えられます。
$X$を構成する数字を好きなように並び替えて、正整数$Y$を作ります。
ただし、$Y$の最上位桁が'0'になってはいけません。

$Y$として作れる数のうち$2$番目に大きいものを出力してください。
そのような数が存在しない場合は、$-1$と出力してください。

入力

$X$

入力は以下の制約を満たします。
$10 \leq X < 10^{100000}$
$X$は整数

出力

$Y$として作れる数のうち2番目に大きいものを出力してください。 そのような数が存在しない場合は、−1と出力してください。 最後に改行してください。

サンプル

サンプル1
入力
213
出力
312

$X=213$から作れる$Y$は、
大きいものから、$321, 312, 231, 213, 132, 123$の6つなので、
この中で$2$番目に大きい$312$を出力します。

サンプル2
入力
999
出力
-1

$X$を構成する数字をどのように並び替えても、結果として出来上がる数は$999$になります。
$Y$として作れる数は$999$だけなので、「$Y$として作れる数のうち$2$番目に大きいもの」は存在しません。
よって、$-1$を出力します。

サンプル3
入力
50
出力
-1

$Y$として作れる数は$50$だけなので、
「$Y$として作れる数のうち$2$番目に大きいもの」は存在しません。
よって、$-1$を出力します。

提出ページヘ
下のフォームでの入力は、テキストボックスにフォーカスがない場合は、(Onにしている場合)ショートカットキー・スマートサブミットの影響を受けるので、必要なら提出ページに遷移してください。

言語
問題によって提出できない言語があります。参考
ソースコード
ソースコードのテキストボックスに文字がある場合はファイルは無視されます。
テキストボックスで提出するとCR(\r)が除去されますが、ファイルで提出すると除去されません。