#960. [蓝桥杯]求新序列中的最大序列

[蓝桥杯]求新序列中的最大序列

题目描述

给定一个正整数n,请将n中的每位数字重新排列并组成一个新数,要求新数的值要小于n,请找出所有符合要求的新数中最大的那个正整数,如果不存

在这样的正整数,则输出-1。

例1:n=312,312中每位上的数字依次是3、1、2,重新排列组成的新数有321、231、213、132、123,新数中小于312的有231、213、132、123,其中符合要求的最大正整数是231;

例2:n=123,123中每位上的数字依次是1、2、3,重新排列组成的新数有312、321、231、213、132,新数中不存在小于123的正整数,故输出-1。

输入描述

输入一个正整数 n(1 ≤ n < 2的63次方)

输出描述

输出一个正整数,表示符合要求的最大正整数

样例

312
231

评分标准

8分:能正确输出第一组数据; 8分:能正确输出第二组数据; 8分:能正确输出第三组数据; 8分:能正确输出第四组数据; 8分:能正确输出第五组数据; 8分:能正确输出第六组数据; 8分:能正确输出第七组数据; 8分:能正确输出第八组数据; 8分:能正确输出第九组数据; 8分:能正确输出第十组数据。