100 atcoder#ABC118D. [ABC118D] Match Matching

[ABC118D] Match Matching

配点 : 400400

問題文

ちょうど NN 本のマッチ棒を使って作れる整数の中で最大のものを求めてください。

ただし、以下の条件を満たさなければなりません。

  • 作る整数の各桁は、11 から 99 までの数字のうち A1,A2,...,AM(1Ai9)A_1, A_2, ..., A_M (1 \leq A_i \leq 9) のいずれかでなければならない。
  • 数字 1,2,3,4,5,6,7,8,91, 2, 3, 4, 5, 6, 7, 8, 911 つ作るには、それぞれちょうど 2,5,5,4,5,6,3,7,62, 5, 5, 4, 5, 6, 3, 7, 6 本のマッチ棒を使う。

制約

  • 入力は全て整数である。
  • 2N1042 \leq N \leq 10^4
  • 1M91 \leq M \leq 9
  • 1Ai91 \leq A_i \leq 9
  • AiA_i は全て異なる。
  • ちょうど NN 本のマッチ棒を使って条件を満たすように作れる整数が存在する。

入力

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

NN MM

A1A_1 A2A_2 ...... AMA_M

出力

問題文の条件下でちょうど NN 本のマッチ棒を使って作れる整数の最大値を出力せよ。

20 4
3 7 8 4
777773

整数 7777737777733+3+3+3+3+5=203 + 3 + 3 + 3 + 3 + 5 = 20 本のマッチ棒を使って作れ、ちょうど 2020 本のマッチ棒を使って条件を満たすように作れる整数の中でこれが最大です。

101 9
9 8 7 6 5 4 3 2 1
71111111111111111111111111111111111111111111111111

出力が 6464 ビット整数型に収まらない場合があります。

15 3
5 4 6
654