开始: 2026-03-23 00:00:00

25-26赛季联合赛04

结束: 2026-03-26 00:00:00
当前  2026-04-05 04:26:13  类型: IOI  状态: 已经结束 

P5. 整除子序列
描述

给出 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 = 55 可以被 5 整除。

- 第 2 组样例的解释:

由于原序列中只有 1 个元素,因此它只有 1 个子序列 \{5\},但显然 5 不可以被 6 整除。

- 第 3 组样例的解释:

存在符合条件的子序列 \{3,3\},其元素之和为 3 + 3 = 66 可以被 6 整除。

- 第 4 组样例的解释:

选择整个原序列作为子序列,其元素之和为 5 + 5 + 5 + 5 + 5 + 5 = 3030 可以被 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
提交