CF1401C.Mere Array

普及-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

You are given an array a1,a2,…,ana_1, a_2, \dots, a_n where all aia_i are integers and greater than 00.

In one operation, you can choose two different indices ii and jj (1≤i,j≤n1 \le i, j \le n). If gcd(ai,aj)gcd(a_i, a_j) is equal to the minimum element of the whole array aa, you can swap aia_i and aja_j. gcd(x,y)gcd(x, y) denotes the greatest common divisor (GCD) of integers xx and yy.

Now you'd like to make aa non-decreasing using the operation any number of times (possibly zero). Determine if you can do this.

An array aa is non-decreasing if and only if a1≤a2≤…≤ana_1 \le a_2 \le \ldots \le a_n.

给你一个数组 a1,a2,…,ana_1, a_2, \dots, a_n,其中所有 aia_i 均为正整数。

在一次操作中,你可以选择两个不同的下标 ii 和 jj(1≤i,j≤n1 \le i, j \le n)。若 aia_i 与 aja_j 的最大公约数 gcd(ai,aj)gcd(a_i, a_j) 等于整个数组 aa 的最小元素,则你可以交换 aia_i 和 aja_j。其中 gcd(x,y)gcd(x, y) 表示整数 xx 与 yy 的最大公约数(GCD)。

现在你想通过任意次数(包括零次)的上述操作,将数组 aa 变为非递减序列。请判断是否可行。

数组 aa 是非递减的,当且仅当 a1≤a2≤…≤ana_1 \le a_2 \le \ldots \le a_n。

输入格式

The first line contains one integer tt (1≤t≤1041 \le t \le 10^4) — the number of test cases.

The first line of each test case contains one integer nn (1≤n≤1051 \le n \le 10^5) — the length of array aa.

The second line of each test case contains nn positive integers a1,a2,…ana_1, a_2, \ldots a_n (1≤ai≤1091 \le a_i \le 10^9) — the array itself.

It is guaranteed that the sum of nn over all test cases doesn't exceed 10510^5.

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4)—— 测试用例的数量。

每个测试用例的第一行包含一个整数 nn(1≤n≤1051 \le n \le 10^5)—— 数组 aa 的长度。

每个测试用例的第二行包含 nn 个正整数 a1,a2,…ana_1, a_2, \ldots a_n(1≤ai≤1091 \le a_i \le 10^9)—— 数组本身。

保证所有测试用例的 nn 之和不超过 10510^5。

输出格式

For each test case, output "YES" if it is possible to make the array aa non-decreasing using the described operation, or "NO" if it is impossible to do so.

对于每个测试用例,如果可以通过执行上述操作使数组 aa 变为非递减序列,则输出 "YES";否则(即无法实现)输出 "NO"。

输入输出样例

  • 输入#1

    4
    1
    8
    6
    4 3 6 6 2 9
    4
    4 5 6 7
    5
    7 5 2 2 4

    输出#1

    YES
    YES
    YES
    NO

说明/提示

In the first and third sample, the array is already non-decreasing.

In the second sample, we can swap a1a_1 and a3a_3 first, and swap a1a_1 and a5a_5 second to make the array non-decreasing.

In the forth sample, we cannot the array non-decreasing using the operation.

在第一个和第三个样例中,数组已经为非递减序列。

在第二个样例中,我们可以先交换 a1a_1 和 a3a_3,再交换 a1a_1 和 a5a_5,从而使数组变为非递减序列。

在第四个样例中,我们无法通过该操作使数组变为非递减序列。

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

首页