CF1708A.Difference Operations

入门

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given an array aa consisting of nn positive integers.

You are allowed to perform this operation any number of times (possibly, zero):

  • choose an index ii (2≤i≤n2 \le i \le n), and change aia_i to ai−ai−1a_i - a_{i-1}.

Is it possible to make ai=0a_i=0 for all 2≤i≤n2\le i\le n?

给你一个由 nn 个正整数组成的数组 aa。

你可以执行以下操作任意次(可以为零次):

  • 选择一个下标 ii(2≤i≤n2 \le i \le n),并将 aia_i 修改为 ai−ai−1a_i - a_{i-1}。

是否可能使得对所有 2≤i≤n2\le i\le n,均有 ai=0a_i=0?

输入格式

The input consists of multiple test cases. The first line contains a single integer tt (1≤t≤1001\le t\le 100) — the number of test cases. The description of the test cases follows.

The first line contains one integer nn (2≤n≤1002 \le n \le 100) — the length of array aa.

The second line contains nn integers a1,a2,…,ana_1,a_2,\ldots,a_n (1≤ai≤1091 \le a_i \le 10^9).

输入包含多个测试用例。第一行包含一个整数 tt(1≤t≤1001\le t\le 100),表示测试用例的数量。随后是各测试用例的描述。

第一行包含一个整数 nn(2≤n≤1002 \le n \le 100),表示数组 aa 的长度。

第二行包含 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n(1≤ai≤1091 \le a_i \le 10^9)。

输出格式

For each test case, print "YES" (without quotes), if it is possible to change aia_i to 00 for all 2≤i≤n2 \le i \le n, and "NO" (without quotes) otherwise.

You can print letters in any case (upper or lower).

对于每个测试用例,如果能够将所有 2≤i≤n2 \le i \le n 的 aia_i 变为 00,则输出 "YES"(不带引号);否则输出 "NO"(不带引号)。

字母大小写不限(大写或小写均可)。

输入输出样例

  • 输入#1

    4
    2
    5 10
    3
    1 2 3
    4
    1 1 1 1
    9
    9 9 8 2 4 4 3 5 3

    输出#1

    YES
    YES
    YES
    NO

说明/提示

In the first test case, the initial array is [5,10][5,10]. You can perform 22 operations to reach the goal:

  1. Choose i=2i=2, and the array becomes [5,5][5,5].
  2. Choose i=2i=2, and the array becomes [5,0][5,0].

In the second test case, the initial array is [1,2,3][1,2,3]. You can perform 44 operations to reach the goal:

  1. Choose i=3i=3, and the array becomes [1,2,1][1,2,1].
  2. Choose i=2i=2, and the array becomes [1,1,1][1,1,1].
  3. Choose i=3i=3, and the array becomes [1,1,0][1,1,0].
  4. Choose i=2i=2, and the array becomes [1,0,0][1,0,0].

In the third test case, you can choose indices in the order 44, 33, 22.

在第一个测试用例中,初始数组为 [5,10][5,10]。你可以执行 22 次操作以达到目标:

  1. 选择 i=2i=2,数组变为 [5,5][5,5]。
  2. 选择 i=2i=2,数组变为 [5,0][5,0]。

在第二个测试用例中,初始数组为 [1,2,3][1,2,3]。你可以执行 44 次操作以达到目标:

  1. 选择 i=3i=3,数组变为 [1,2,1][1,2,1]。
  2. 选择 i=2i=2,数组变为 [1,1,1][1,1,1]。
  3. 选择 i=3i=3,数组变为 [1,1,0][1,1,0]。
  4. 选择 i=2i=2,数组变为 [1,0,0][1,0,0]。

在第三个测试用例中,你可以按顺序选择下标 44、33、22。

输入解题思路,AI测评打分。不知道怎么写?

首页