100
#LS1228. 【普及】构造回文数组

【普及】构造回文数组

【普及】构造回文数组

给你一个长度为 nn 的数组 aa 和一个整数 mm,你可以执行如下操作无数次

  • 选定 AA 中的 mm 个数,将它们全部加 1

比如:a=[3,2,8,4,6]a = [3, 2, 8, 4, 6], 我们选择 [2,8,6][2, 8, 6] 各加 1,那么数组 a 变成 [3,2+1,8+1,4,6+1]=[3,3,9,4,7][3, 2 + 1, 8 + 1, 4, 6 + 1] = [3, 3, 9, 4, 7]

请问:能否经过若干次操作,将数组 aa 变成回文的。

注意:当一个数组从左往右读,和从右往左读是一样的时候,我们称这个数组是回文的。比如 [4,10,10,4][4,10,10,4][7,1,7]是回文的[7,1,7] 是回文的

输入格式

第一行是一个整数 TT,代表数据的组数,接下来有 TT 组数据

每组数据的第一行 22 个正整数 n,mn, m

每组数据的第二行包含 nn 个正整数表示数组 aa

输出格式

对于每组数据输出一行

如果可以将数组 aa 变成回文的, 输出 YES

否则输出 NO

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

提示

【样例 1 解释】

  • 样例 1:数组 aa 本身就是回文的
  • 样例 2:$[4,5,5,4,6,4] \rightarrow [4,5,5,5,6,4] \rightarrow [4,6,5,5,6,4]$
  • 样例 3:[4,5,5,4,6,4][4,6,5,5,6,4][4,5,5,4,6,4] \rightarrow [4,6,5,5,6,4]
  • 样例 4:做不到

【数据范围】

  • 对于 100%100\% 的数据,1mn105,1ai1061 \leq m \leq n \leq 10^5, 1 \le a_i \le 10^6
  • 单组数据内的 nn 之和不超过 10610^6
测试点编号 nn mm aia_i
141\sim4 n5n \leq 5 m2m \leq 2 ai10a_i \leq 10
585\sim8 n10n \leq 10 m5m \leq 5
9209\sim20
请思考后再点击查看提示

来源