308379: CF1510D. Digits

Memory Limit:512 MB Time Limit:3 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Digits

题意翻译

## 题目描述 现有一个长度为 $n$ 的数组 $a$ 。你要从中选择 $k$个不同的数(“不同”指在数组中的位置不同,而数值可以相同),使它们的乘积个位数字是 $d$。如果有多组解,输出乘积最大的一组。 ## 输入格式 第一行,两个数,$n$和 $d$,用空格分开。 第二行,$n$个数,$a_i$。 ## 输出格式 如果不存在满足题目要求的最大解,输出`-1`。 否则,在第一行输出 $k$,在第二行输出所有选择的数(任何顺序都行)。 ## 数据范围 $1\leq k\leq n\leq 10^5$ $0\leq d\leq 9$ $1\leq a_i\leq 1000$

题目描述

Diana loves playing with numbers. She's got $ n $ cards with positive integer numbers $ a_i $ written on them. She spends her free time multiplying the numbers on the cards. She picks a non-empty subset of the cards and multiplies all the numbers $ a_i $ written on them. Diana is happy when the product of the numbers ends with her favorite digit $ d $ . Now she is curious what cards she should pick so that the product of the numbers on them is the largest possible and the last decimal digit of the product is $ d $ . Please, help her.

输入输出格式

输入格式


The first line contains the integers $ n $ and $ d $ ( $ 1\le n\le 10^5 $ , $ 0\le d\le 9 $ ). The second line contains $ n $ integers $ a_i $ ( $ 1\le a_i\le 1000 $ ).

输出格式


On the first line, print the number of chosen cards $ k $ ( $ 1\le k\le n $ ). On the next line, print the numbers written on the chosen cards in any order. If it is impossible to choose a subset of cards with the product that ends with the digit $ d $ , print the single line with $ -1 $ .

输入输出样例

输入样例 #1

6 4
4 11 8 2 1 13

输出样例 #1

5
1 2 4 11 13

输入样例 #2

3 1
2 4 6

输出样例 #2

-1

输入样例 #3

5 7
1 3 1 5 3

输出样例 #3

-1

输入样例 #4

6 3
8 9 4 17 11 5

输出样例 #4

3
9 11 17

输入样例 #5

5 6
2 2 2 2 2

输出样例 #5

4
2 2 2 2

说明

In the first example, $ 1 \times 2 \times 4 \times 11 \times 13 = 1144 $ , which is the largest product that ends with the digit 4. The same set of cards without the number 1 is also a valid answer, as well as a set of 8, 11, and 13 with or without 1 that also has the product of 1144. In the second example, all the numbers on the cards are even and their product cannot end with an odd digit 1. In the third example, the only possible products are 1, 3, 5, 9, 15, and 45, none of which end with the digit 7. In the fourth example, $ 9 \times 11 \times 17 = 1683 $ , which ends with the digit 3. In the fifth example, $ 2 \times 2 \times 2 \times 2 = 16 $ , which ends with the digit 6.

Input

题意翻译

## 题目描述 现有一个长度为 $n$ 的数组 $a$ 。你要从中选择 $k$个不同的数(“不同”指在数组中的位置不同,而数值可以相同),使它们的乘积个位数字是 $d$。如果有多组解,输出乘积最大的一组。 ## 输入格式 第一行,两个数,$n$和 $d$,用空格分开。 第二行,$n$个数,$a_i$。 ## 输出格式 如果不存在满足题目要求的最大解,输出`-1`。 否则,在第一行输出 $k$,在第二行输出所有选择的数(任何顺序都行)。 ## 数据范围 $1\leq k\leq n\leq 10^5$ $0\leq d\leq 9$ $1\leq a_i\leq 1000$

加入题单

算法标签: