题目描述
给出一个长为 n 的序列 a1,…,an。
现有 q 次询问,每次询问给出一个正整数 m,问 a1,…,an 这些数除以 m 的余数有多少种。
输入格式
输入的第一行有两个正整数 n,q,分别表示序列长度和询问个数。
第二行有 n 个整数 a1,…,an,表示这个序列。
之后有 q 行,每行有一个正整数 m,表示一次询问。
输出格式
对于每次询问,输出一行一个正整数,表示答案。
6 3
3 1 4 1 5 9
5
2
20
4
2
5
提示
【样例 1 解释】
- 当 m=5 时,a1,…,a6 除以 5 的余数分别为 3,1,4,1,0,4,共有 4 种不同的余数。
- 当 m=2 时,a1,…,a6 除以 2 的余数分别为 1,1,0,1,1,1,共有 2 种不同的余数。
- 当 m=20 时,a1,…,a6 除以 20 的余数分别为 3,1,4,1,5,9,共有 5 种不同的余数。
【数据范围】
对于全部数据,保证 1≤n≤3000,1≤q≤1000,1≤m≤3000,0≤ai≤109。
本题共有 10 个测试点,部分测试点有特殊限制,具体信息如下:
| 测试点编号 |
n≤ |
q≤ |
| 1 |
2 |
1 |
| 2 |
1000 |
| 3,4 |
300 |
1 |
| 5∼8 |
1000 |
| 9,10 |
3000 |
提示:109 是十亿。