問題一覧 > 通常問題

No.927 Second Permutation

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 344
作問者 : leaf_1415leaf_1415 / テスター : tempura_pptempura_pp
5 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$を出力します。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。