Chữ số cuối

Đề bài

Mô tả

Bạn có n tấm thẻ, tấm thứ i ghi một số nguyên dương ai.

Hãy chọn một tập con khác rỗng các tấm thẻ và nhân tất cả các số trên chúng lại với nhau. Bạn muốn tích thu được thoả mãn:

  • Chữ số hàng đơn vị (chữ số thập phân cuối cùng) của tích bằng d;
  • Trong tất cả các tập con thoả mãn điều kiện trên, tích phải lớn nhất có thể.

Hãy in ra các tấm thẻ được chọn. Nếu không tồn tại tập con nào mà tích có chữ số cuối bằng d, in ra 1.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nd.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an.

Dữ liệu ra

  • Nếu không có tập con hợp lệ, in ra một dòng chứa 1.
  • Ngược lại, dòng đầu in ra số lượng thẻ được chọn k (1kn); dòng thứ hai in ra các số ghi trên các thẻ được chọn theo thứ tự bất kỳ.

Nếu có nhiều đáp án cho cùng một tích lớn nhất, in ra đáp án bất kỳ.

Ràng buộc

  • 1n105
  • 0d9
  • 1ai1000

Ví dụ

Input Output Giải thích
6 4
4 11 8 2 1 13
3
13 8 11
13×8×11=1144, là tích lớn nhất có chữ số cuối bằng 4. Tập {1,2,4,11,13} cũng cho tích 1144 nên cũng được chấp nhận.
3 1
2 4 6
-1 Mọi số đều chẵn nên tích không thể có chữ số cuối lẻ là 1.
6 3
8 9 4 17 11 5
3
11 17 9
11×17×9=1683, có chữ số cuối bằng 3.
5 6
2 2 2 2 2
4
2 2 2 2
2×2×2×2=16, có chữ số cuối bằng 6.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0