测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A71675. 比 n 小的最大数

编程题 入门

题目描述

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

1n = 312312 中每位上的数字依次是 312,重新排列组成的新数有 321231213132123,新数中小于 312 的有 231213132123,其中符合要求的最大正整数是 231

2n = 123123 中每位上的数字依次是 123,重新排列组成的新数有 312321231213132,新数中不存在小于 123 的正整数,故输出 -1

输入格式

输入一个正整数 n1 \le n \lt 2^{63})。

输出格式

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

输入输出样例

输入 #1
312
输出 #1
231