B. 378QAQ and Mocha's Array¶
#include <bits/stdc++.h>
using namespace std;
#define ll long long int
#define ulli unsigned long long int
#define li long int
int gcd(int a, int b)
{
    if (a == 0)
        return b;
    return gcd(b % a, a);
}
void solve(vector`<int>` &arr)
{
    int n = arr.size(), i = 0, j = -1;
    if (arr[i] == 1)
    {
        cout << "Yes" << endl;
        return;
    }
    for (int k = 1; k < n; k++)
    {
        if (gcd(arr[i], arr[k]) != arr[i])
        {
            j = k;
            break;
        }
    }
    if (j == -1)
    {
        cout << "Yes" << endl;
        return;
    }
    for (int k = 0; k < n; k++)
    {
        if (!(arr[k] % arr[i] == 0 || arr[k] % arr[j] == 0))
        {
            System.out.println("No");
            return;
        }
    }
    cout << "Yes" << endl;
    return;
}
int main()
{
    int t;
    cin >> t;
while (t-- > 0)
    {
        int n;
        cin >> n;
        vector`<int>` arr;
        for (int i = 0; i < n; i++)
        {
            int num;
            cin >> num;
            arr.push_back(num);
        }
        sort(arr.begin(), arr.end());
        solve(arr);
    }
    return 0;
}
import java.util.*;
import java.io.*;
public class Main {
    public static int gcd(int a, int b) {
        if (a == 0)
            return b;
        return gcd(b % a, a);
    }
public static void solve(int[] arr) {
        int n = arr.length, i = 0, j = -1;
        if (arr[i] == 1) {
            System.out.println("Yes");
            return;
        }
        for (int k = 1; k < n; k++) {
            if (gcd(arr[i], arr[k]) != arr[i]) {
                j = k;
                break;
            }
        }
        if (j == -1) {
            System.out.println("Yes");
            return;
        }
        for (int k = 0; k < n; k++) {
            if (!(arr[k] % arr[i] == 0 || arr[k] % arr[j] == 0)) {
                System.out.println("No");
                return;
            }
        }
        System.out.println("Yes");
        return;
    }
    public static void main(String[] args) {
        FastReader sc = new FastReader();
        int t = sc.nextInt();
        while (t-- > 0) {
            int n = sc.nextInt();
            int[] arr = new int[n];
            for (int i = 0; i < n; i++)
                arr[i] = sc.nextInt();
            Arrays.sort(arr);
            solve(arr);
        }
    }
}
-  Time Complexity : O(t * n * logN ) where 
tis number of testcases,nis the length of array andN= max(a[i]) - Space Complexity : O(1)