给出 1 个长度为 n 的序列,以及 1 个正整数 m。问这个原序列中是否存在非空子序列,使其元素之和能被 m 整除。
第一行一个数字t,表示 有t组数据:
每组数据里面:
第 1 行,有 2 个正整数,分别为原序列的长度 n 和 除数 m。
第 2 行,有 n 个自然数,表示该原序列的元素 a_i。
t 行,如果存在符合条件的子序列,输出 **YES**,否则输出 **NO**。
4 3 5 1 2 3 1 6 5 4 6 3 1 1 3 6 6 5 5 5 5 5 5
YES NO YES YES
样例解释
- 第 1 组样例的解释:
存在符合条件的子序列 \{2,3\},其元素之和为 2 + 3 = 5,5 可以被 5 整除。
- 第 2 组样例的解释:
由于原序列中只有 1 个元素,因此它只有 1 个子序列 \{5\},但显然 5 不可以被 6 整除。
- 第 3 组样例的解释:
存在符合条件的子序列 \{3,3\},其元素之和为 3 + 3 = 6,6 可以被 6 整除。
- 第 4 组样例的解释:
选择整个原序列作为子序列,其元素之和为 5 + 5 + 5 + 5 + 5 + 5 = 30,30 可以被 6 整除。
数据范围:
一共有10个测试点:
测试点#1,2:5\leq t \leq 10,n\leq 100, m\leq 1000,\sum a_i \leq 10000
测试点#3,4,5:5\leq t \leq 10,n\leq 20, m\leq 10000,\sum a_i \leq 10^{10}
测试点#6-10:5\leq t \leq 10,n\leq 1000, m\leq 10000,\sum a_i \leq 10^{10}
| 时间限制 | 1 秒 |
| 内存限制 | 128 MB |