No.927 Second Permutation
レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 344
作問者 : leaf_1415 / テスター : tempura_pp
タグ : / 解いたユーザー数 344
作問者 : leaf_1415 / テスター : tempura_pp
問題文最終更新日: 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もしくは右上の雲マークをクリックしてアカウントを作成してください。