Олимпиадный тренинг

Задача . B. Целостный массив


Дан массив \(a\) из \(n\) целых положительных чисел, пронумерованных от \(1\) до \(n\). Назовём массив целостным, если для любых двух, не обязательно различных, чисел \(x\) и \(y\) из этого массива, для которых \(x \ge y\), число \(\left \lfloor \frac{x}{y} \right \rfloor\) (частное от деления \(x\) на \(y\) с округлением вниз) тоже лежит в этом массиве.

Известно, что в массиве \(a\) все числа не превосходят \(c\). Ваша задача — проверить, является ли данный массив целостным.

Входные данные

Каждый тест состоит из нескольких наборов входных данных. В первой строке находится единственное целое число \(t\) (\(1 \le t \le 10^4\)) — количество наборов входных данных. Далее следуют описания наборов входных данных.

Первая строка каждого набора входных данных содержит два целых числа \(n\) и \(c\) (\(1 \le n \le 10^6\), \(1 \le c \le 10^6\)) — размер массива \(a\) и ограничение на числа в массиве.

Вторая строка каждого набора входных данных содержит \(n\) целых чисел \(a_1\), \(a_2\), ..., \(a_n\) (\(1 \le a_i \le c\)) — элементы массива \(a\).

Пусть \(N\) обозначает сумму значений \(n\) по всем наборам входных данных, а \(C\) — сумму значений \(c\) по всем наборам входных данных. Гарантируется, что \(N \le 10^6\) и \(C \le 10^6\).

Выходные данные

Для каждого набора входных данных выведите Yes, если массив является целостным, и No иначе.

Примечание

В первом наборе входных данных нетрудно заметить, что массив является целостным:

  • \(\left \lfloor \frac{1}{1} \right \rfloor = 1\), \(a_1 = 1\), число встречается в массиве
  • \(\left \lfloor \frac{2}{2} \right \rfloor = 1\)
  • \(\left \lfloor \frac{5}{5} \right \rfloor = 1\)
  • \(\left \lfloor \frac{2}{1} \right \rfloor = 2\), \(a_2 = 2\), число встречается в массиве
  • \(\left \lfloor \frac{5}{1} \right \rfloor = 5\), \(a_3 = 5\), число встречается в массиве
  • \(\left \lfloor \frac{5}{2} \right \rfloor = 2\), \(a_2 = 2\), число встречается в массиве

Таким образом, условие выполнено, массив является целостным.

Во втором наборе входных данных достаточно заметить, что

\(\left \lfloor \frac{7}{3} \right \rfloor = \left \lfloor 2\frac{1}{3} \right \rfloor = 2\), этого числа нет в массиве \(a\), поэтому он не является целостным.

В третьем наборе входных данных \(\left \lfloor \frac{2}{2} \right \rfloor = 1\), но в массиве есть только число \(2\), поэтому он не является целостным.


Примеры
Входные данныеВыходные данные
1 4
3 5
1 2 5
4 10
1 3 3 7
1 2
2
1 1
1
Yes
No
No
Yes
2 1
1 1000000
1000000
No

time 2000 ms
memory 512 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w642
Комментарий учителя