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