4611 - 比 n 小的最大数

题目描述

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

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

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

输入

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

输出

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

样例

输入

312

输出

231
来源

蓝桥杯十五届STEMA考试 C++试卷(24年3月)

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 7
通过人数 5
金币数量 1 枚
难度 入门


上一题 下一题