SZ#G6KP23. 【GESP强化 六级】模和

提交1 通过1
通过率100%
时间限制2000ms
内存限制256MiB
    ID: 11567 传统题 2000ms 256MiB 尝试: 1 已通过: 1 难度: 普及 上传者: 标签>GESPGESP强化C++c++编程题背包问题0/1背包余数状态3星

题目描述

给出 11 个长度为 nn 的序列,以及 11 个正整数 mm。问这个原序列中是否存在非空子序列,使其元素之和能被 mm 整除。

输入格式

11 行,有 22 个正整数,分别为原序列的长度 nn 和除数 mm。 (数据范围:1n1061 \leqslant n \leqslant 10^{6}2m1032 \leqslant m \leqslant 10^{3}) 第 22 行,有 nn 个自然数,表示该原序列的元素 aia_i。 (数据范围:0ai1090 \leqslant a_i \leqslant 10^{9}

输出格式

11 行,如果存在符合条件的子序列,输出 YES,否则输出 NO

3 5
1 2 3
YES
1 6
5
NO
4 6
3 1 1 3
YES
6 6
5 5 5 5 5 5
YES

说明/提示

  • 11 组样例的解释: 存在符合条件的子序列 {2,3}\{2,3\},其元素之和为 2+3=52 + 3 = 555 可以被 55 整除。
  • 22 组样例的解释: 由于原序列中只有 11 个元素,因此它只有 11 个子序列 {5}\{5\},但显然 55 不可以被 66 整除。
  • 33 组样例的解释: 存在符合条件的子序列 {3,3}\{3,3\},其元素之和为 3+3=63 + 3 = 666 可以被 66 整除。
  • 44 组样例的解释: 选择整个原序列作为子序列,其元素之和为 5+5+5+5+5+5=305 + 5 + 5 + 5 + 5 + 5 = 303030 可以被 66 整除。

Translated by 小泽