atcoder#ABC257E. [ABC257E] Addition and Multiplication 2

[ABC257E] Addition and Multiplication 2

配点 : 500500

問題文

高橋君は整数 xx を持っています。最初 x=0x=0 です。

高橋君は以下の操作を好きな回数行えます。

  • 整数 i (1i9)i\ (1\leq i \leq 9) を選ぶ。 CiC_i 円払い、xx10x+i10x + i で置き換える。

高橋君の予算は NN 円です。操作で支払うお金の総和が予算を超過しないように操作を行うとき、最終的に得られる xx の最大値を求めてください。

制約

  • 1N1061 \leq N \leq 10^6
  • 1CiN1 \leq C_i \leq N
  • 入力は全て整数

入力

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

NN

C1C_1 C2C_2 \ldots C9C_9

出力

答えを出力せよ。

5
5 4 3 3 2 5 3 5 3
95

例えば i=9i = 9 とする操作、i=5i=5 とする操作を順に行うことで、xx は以下のように変化します。

09950 \rightarrow 9 \rightarrow 95

操作により支払うお金の合計は C9+C5=3+2=5C_9 + C_5 = 3 + 2 = 5 円であり、これは予算を超過しません。 予算を超過しないような操作の方法によって 9696 以上の整数を作ることが不可能であることが証明できるので、答えは 9595 です。

20
1 1 1 1 1 1 1 1 1
99999999999999999999

答えが 6464 bit整数型に収まらないこともあることに注意してください。