100 atcoder#ABC221C. [ABC221C] Select Mul

[ABC221C] Select Mul

题目描述

整数 N N が与えられます。N N の各桁の数字を取り出して並べ(並べる順序は好きに変えてよい)、2 2 つの正整数に分離することを考えましょう。

例えば、123 123 という整数に対しては以下の 6 6 通りの分離の仕方が考えられます。

  • 12 12 3 3
  • 21 21 3 3
  • 13 13 2 2
  • 31 31 2 2
  • 23 23 1 1
  • 32 32 1 1

なお、ここで分離されたあとの 2 2 整数に leading zero が含まれていてはなりません。例えば、101 101 という整数を 1 1 01 01 2 2 つに分離することはできません。また上述の「正整数に分離する」という条件より、101 101 11 11 0 0 2 2 つに分離することもできません。

適切に N N を分離したとき、分離後の 2 2 数の積の最大値はいくらになりますか?

输入格式

入力は以下の形式で標準入力から与えられる。

N N

输出格式

分離後の 2 2 数の積の最大値を出力せよ。

题目大意

有一个数 NN(至少有两个非零位),现在做如下操作:

  • NN 里面的所有数字打乱,

  • 然后选取一个右边不是 00 的数字,将这个数字以及他左边的数字变成新的第一个数,其他数字变成新的第二个数。

求出这两个数的积的最大值。

数据范围:1N1091 \le N \le 10^{9}

样例解释

样例1:

123123 一共 66 种操作方案:

ABA-B 表示分离成 AABB

  1. 1231-23,积为 2323

  2. 1321-32,积为 3232

  3. 2132-13,积为 2626

  4. 2312-31,积为 6262

  5. 3123-12,积为 3636

  6. 3213-21,积为 6363

其中积最大的是 3213-21,积为 6363

因此输出 6363

123
63
1010
100
998244353
939337176

提示

制約

  • N N 1 1 以上 109 10^9 以下の整数
  • N N には 0 0 でない桁が 2 2 つ以上含まれる

Sample Explanation 1

問題文中にある通り、以下の 6 6 通りの分離の仕方が考えられます。 - 12 12 3 3 - 21 21 3 3 - 13 13 2 2 - 31 31 2 2 - 23 23 1 1 - 32 32 1 1 積はそれぞれ 36 36 , 63 63 , 26 26 , 62 62 , 23 23 , 32 32 であり、この中の最大値は 63 63 です。

Sample Explanation 2

考えられる分離の仕方は以下の 2 2 通りです。 - 100 100 1 1 - 10 10 10 10 いずれの場合にも積は 100 100 となります。