AT_abc433_d [ABC433D] 183183
题目描述
对于正整数 $x, y$,定义 $f(x, y)$ 如下:
- 将 $x, y$ 以十进制表示(不含前导零),按照顺序拼接成字符串 $S$,再将字符串 $S$ 作为十进制数解释成整数。
例如,$f(12,3)=123$,$f(100,40)=10040$。
给定正整数 $N, M$,以及一个长度为 $N$ 的正整数序列 $A=(A_1, A_2, \ldots, A_N)$。
请计算有多少对整数 $(i, j)$ 满足以下所有条件。
- $1 \le i, j \le N$
- $f(A_i, A_j)$ 是 $M$ 的倍数。
输入格式
输入从标准输入读取,格式如下:
> $N$ $M$ $A_1$ $A_2$ $\ldots$ $A_N$
输出格式
输出满足所有条件的整数对 $(i, j)$ 的个数。
说明/提示
### 样例解释 1
- 当 $(i, j) = (1, 1)$ 时,$f(A_1, A_1) = 22$,是 $11$ 的倍数。
- 当 $(i, j) = (1, 2)$ 时,$f(A_1, A_2) = 242$,是 $11$ 的倍数。
- 当 $(i, j) = (2, 1)$ 时,$f(A_2, A_1) = 422$,不是 $11$ 的倍数。
- 当 $(i, j) = (2, 2)$ 时,$f(A_2, A_2) = 4242$,不是 $11$ 的倍数。
综上,满足条件的整数对为 $(i, j) = (1, 1), (1, 2)$,共 $2$ 对。因此输出 $2$。
### 约束条件
- $1 \le N \le 2 \times 10^5$
- $1 \le M \le 10^9$
- $1 \le A_i \le 10^9$
- 所有输入值均为整数。
由 ChatGPT 5 翻译