printРабочее место участника

printЗадачи

81. Наименьшее число

Ограничения: время – 2s/4s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Среди целых положительных чисел, в десятичной записи которых присутствуют разряды только из заданного набора, найти наименьшее число, удовлетворяющее двум условиям: во-первых, сумма разрядов этого числа равна `N` и, во-вторых, это число кратно `M`. Если числа, удовлетворяющего этим условиям, не существует, вывести число –1.
Ввод
В первой строке входного файла содержится единственное число `T` (1≤`T`≤50) –количество тестов во входном файле. В первой строке каждого теста содержится число `K` (1≤`K`≤10) – количество допустимых десятичных разрядов. Во второй строке через пробел записаны `K` различных десятичных разрядов (т.е. числа от 0 до 9). В третьей строке через пробел записаны числа `N` и `M` (1≤`N,\ M`≤500). Каждый новый тест записан с новой строки, пустых строк между тестами нет. Заданное ограничение по времени рассчитано на все тесты входного файла.
Вывод
Для каждого теста вывести единственную строку, содержащую искомое число, или –1, если его не существует. Число не должно содержать ведущих нулей.

Пример ввода

4
2
0 1
5 2
3
1 3 5
10 4
3
1 2 3
12 123
10
0 1 2 3 4 5 6 7 8 9
300 499

Пример вывода

111110
-1
123123
5899999999999999899999999999999999
loading