CF1941B.Rudolf and 121

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Rudolf and 121

题目描述

Rudolf 有一个长度为 nn 的整数数组 aa,数组下标从 11nn

在一次操作中,他可以选择一个下标 ii2in12 \le i \le n - 1),并进行如下赋值操作:

  • ai1=ai11a_{i - 1} = a_{i - 1} - 1
  • ai=ai2a_i = a_i - 2
  • ai+1=ai+11a_{i + 1} = a_{i + 1} - 1

Rudolf 可以任意多次应用该操作。任意下标 ii 可以被使用零次或多次。

他能否通过上述操作使数组的所有元素都变为零?

输入格式

输入的第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。

每个测试用例的第一行包含一个整数 nn3n21053 \le n \le 2 \cdot 10^5),表示数组的长度。

每个测试用例的第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n0aj1090 \le a_j \le 10^9),表示数组的元素。

保证所有测试用例中 nn 的总和不超过 21052 \cdot 10^5

输出格式

对于每个测试用例,如果可以通过上述操作使数组的所有元素都变为零,输出 "YES";否则输出 "NO"。

你可以以任意大小写输出答案。例如,"yEs"、"yes"、"Yes" 和 "YES" 都会被判为正确答案。

说明/提示

在第一个示例中,原数组为 [1,3,5,5,2][1, 3, 5, 5, 2],Rudolf 可以按如下方式操作使所有元素变为零:

  • i=4i=4 处应用操作,得到数组 [1,3,4,3,1][1, 3, 4, 3, 1]
  • i=3i=3 处应用操作,得到数组 [1,2,2,2,1][1, 2, 2, 2, 1]
  • i=2i=2 处应用操作,得到数组 [0,0,1,2,1][0, 0, 1, 2, 1]
  • i=4i=4 处应用操作,得到数组 [0,0,0,0,0][0, 0, 0, 0, 0]

由 ChatGPT 4.1 翻译

样例

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

在线编程 IDE

建议全屏模式获得最佳体验