CF2102A Dinner Time

题目描述

给定四个整数 $n$、$m$、$p$ 和 $q$,判断是否存在一个整数数组 $a_1, a_2, \ldots, a_n$(元素可以为负)满足以下条件: - 数组中所有元素的和等于 $m$: $$a_1 + a_2 + \ldots + a_n = m$$ - 每 $p$ 个连续元素的和都等于 $q$: $$a_i + a_{i + 1} + \ldots + a_{i + p - 1} = q,\qquad\text{对于所有 }1 \le i \le n - p + 1$$

输入格式

每个测试包含多个测试用例。第一行输入测试用例数量 $t$($1 \le t \le 10^4$)。接下来是各测试用例的描述。 每个测试用例的第一行也是唯一一行包含四个整数 $n$、$m$、$p$ 和 $q$($1 \le p \le n \le 100$,$1 \le q, m \le 100$)——分别表示数组长度、元素总和、子段长度和子段总和。

输出格式

对于每个测试用例,如果存在满足上述条件的数组,输出"YES"(不带引号),否则输出"NO"(不带引号)。 你可以以任意大小写形式输出"YES"和"NO"(例如字符串"yES"、"yes"和"Yes"都会被识别为有效响应)。

说明/提示

在第一个测试用例中,满足条件的数组示例是 $[1, 0, 1]$。这是因为: - $a_1 + a_2 + a_3 = 1 + 0 + 1 = 2 = m$ - $a_1 + a_2 = 1 + 0 = 1 = q$ - $a_2 + a_3 = 0 + 1 = 1 = q$ 在第二个测试用例中,唯一满足条件的数组是 $[1]$。 在第三个测试用例中,满足条件的数组示例是 $[-2, 5, -2, 5, -2]$。 在第四个测试用例中,可以证明不存在满足条件的数组。 翻译由 DeepSeek V3 完成