CF BUDDY
← Problems·

1648B · Integral Array

1800 · brute force, constructive algorithms, data structures

Problem: You are given an array aa of nn positive integers numbered from 11 to nn. Let's call an array integral if for any two, not necessarily different, numbers xx and yy from this array, xyx \ge y, the number xy\left \lfloor \frac{x}{y} \right \rfloor (xx divided by yy with rounding down) is also in this array.

You are guaranteed that all numbers in aa do not exceed cc. Your task is to check whether this array is integral.

Input Format: The input consists of multiple test cases. The first line contains a single integer tt (1t1041 \le t \le 10^4) — the number of test cases. Description of the test cases follows.

The first line of each test case contains two integers nn and cc (1n1061 \le n \le 10^6, 1c1061 \le c \le 10^6) — the size of aa and the limit for the numbers in the array.

The second line of each test case contains nn integers a1a_1, a2a_2, ..., ana_n (1aic1 \le a_i \le c) — the array aa.

Let NN be the sum of nn over all test cases and CC be the sum of cc over all test cases. It is guaranteed that N106N \le 10^6 and C106C \le 10^6.

Output Format: For each test case print Yes if the array is integral and No otherwise.

Note: In the first test case it is easy to see that the array is integral:

  • 11=1\left \lfloor \frac{1}{1} \right \rfloor = 1, a1=1a_1 = 1, this number occurs in the arry
  • 22=1\left \lfloor \frac{2}{2} \right \rfloor = 1
  • 55=1\left \lfloor \frac{5}{5} \right \rfloor = 1
  • 21=2\left \lfloor \frac{2}{1} \right \rfloor = 2, a2=2a_2 = 2, this number occurs in the array
  • 51=5\left \lfloor \frac{5}{1} \right \rfloor = 5, a3=5a_3 = 5, this number occurs in the array
  • 52=2\left \lfloor \frac{5}{2} \right \rfloor = 2, a2=2a_2 = 2, this number occurs in the array

Thus, the condition is met and the array is integral.

In the second test case it is enough to see that

73=213=2\left \lfloor \frac{7}{3} \right \rfloor = \left \lfloor 2\frac{1}{3} \right \rfloor = 2, this number is not in aa, that's why it is not integral.

In the third test case 22=1\left \lfloor \frac{2}{2} \right \rfloor = 1, but there is only 22 in the array, that's why it is not integral.

Sample Cases

Case 1

Input

4
3 5
1 2 5
4 10
1 3 3 7
1 2
2
1 1
1

Output

Yes
No
No
Yes

Case 2

Input

1
1 1000000
1000000

Output

No

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback