trang chủ / đề bài / luckytkt

Vé số may mắn

Đề bài

Mô tả

Mọi vé xe buýt ở Berland đều có số hiệu gồm n chữ số (n chẵn). Chỉ có k chữ số thập phân d1,d2,…,dk được phép xuất hiện trong số hiệu. Nếu 0 nằm trong tập này thì số hiệu có thể có chữ số 0 ở đầu. Ví dụ, với n=4 và chỉ được dùng hai chữ số 0 và 4, các số hiệu hợp lệ là 0000, 4004, 4440, còn 0002, 00, 44443 thì không hợp lệ.

Một vé được gọi là may mắn nếu tổng của n/2 chữ số đầu bằng tổng của n/2 chữ số cuối.

Hãy đếm số vé may mắn ở Berland. Vì kết quả có thể rất lớn, in ra phần dư khi chia cho 998244353.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên n và k — số chữ số trong mỗi số hiệu vé, và số chữ số khác nhau được dùng.
  • Dòng thứ hai chứa k số nguyên phân biệt d1,d2,…,dk — các chữ số được phép dùng, viết theo thứ tự bất kỳ.

Dữ liệu ra

In ra một số nguyên duy nhất là số vé may mắn, lấy phần dư khi chia cho 998244353.

Ràng buộc

  • 2≤n≤2·105, n chẵn.
  • 1≤k≤10.
  • 0≤di≤9 và các di đôi một khác nhau.

Ví dụ

Input Output Giải thích
4 2
1 8
6 Có 6 vé may mắn: 1111, 1818, 1881, 8118, 8181, 8888.
20 1
6
1 Chỉ có duy nhất một vé toàn chữ số 6 (gồm 20 chữ số 6), và đó là vé may mắn.
10 5
6 1 4 0 3
569725 Có nhiều vé may mắn với độ dài 10 và bộ chữ số {0,1,3,4,6}; câu trả lời là 569725.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0