100 atcoder#ABC118D. [ABC118D] Match Matching

[ABC118D] Match Matching

题目描述

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

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

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

输入格式

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

N N M M A1 A_1 A2 A_2 ... ... AM A_M

输出格式

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

题目大意

nn根火柴,mm种数字,数字1,2,3,4,5,6,7,8,9分别需要2,5,5,4,5,6,3,7,6根火柴,要求nn根火柴全部都用完且拼成的数字最大,输出这个数字。

20 4
3 7 8 4
777773
101 9
9 8 7 6 5 4 3 2 1
71111111111111111111111111111111111111111111111111
15 3
5 4 6
654

提示

制約

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

Sample Explanation 1

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

Sample Explanation 2

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