B. 数学小知识

    传统题 1000ms 256MiB

数学小知识

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

数学小知识

题目描述

徐老师打算考考你,给定一个包含 n 个整数的数组 a。你可以进行任意次操作。
每次操作中,你需要选择数组中的任意一个下标 i1 ≤ i ≤ n),并对 a[i] 执行下面两种操作之一:

  • a[i] = a[i] + x
  • a[i] = a[i] - x

其中 x 是给定的正整数(由输入提供),在整个过程中保持不变。

你的任务是:判断是否存在一种操作方案,使得数组中的所有元素最终都相等。
如果可以,输出 YES;否则输出 NO

输入格式

第一行输入一个整数 T(1T2×105)T(1 ≤ T ≤ 2 \times 10^5),表示测试数据组数。
接下来 TT 组数据,每组格式如下:

第一行输入两个整数 n(1n106,Σn106)n(1 ≤ n ≤ 10^6,Σn ≤ 10^6)x(1x1018)x(1 ≤ x ≤ 10^{18})
第二行输入 nn 个整数 a1,a2,...,an(1ai1018)a_1, a_2, ..., a_n(1 ≤ ai ≤ 10^{18})

输出格式

对每组测试数据输出一行字符串:

  • 若可以通过若干次操作使数组所有元素相等,输出 YES
  • 否则输出 NO

输入输出样例 #1

输入 #1

3
5 3
1 4 7 10 13
3 4
1 2 3
4 5
6 1 11 16

输出 #1

YES
NO
YES

说明/提示

样例解释

  • 1组:可将所有数通过若干次±3变为7第 1 组:可将所有数通过若干次 ±3变为 7。****

【睿爸信奥】入门组算法周赛(20260301)

未参加
状态
已结束
规则
IOI
题目
4
开始于
2026-3-1 0:00
结束于
2026-3-6 20:00
持续时间
140 小时
主持人
参赛人数
16