Codeforces Round 897 (Div. 2) |
---|
Закончено |
У Егора был массив $$$a$$$ длины $$$n$$$, изначально состоящий из нулей. Однако он захотел сделать из него другой массив $$$b$$$ длины $$$n$$$.
Поскольку Егор не ищет легких путей, разрешено использовать только такую операцию (возможно ноль или несколько раз):
Ему стало интересно, а можно ли вообще получить массив $$$b$$$ с помощью таких операций. Поскольку Егор еще только начинающий программист, он попросил Вас помочь ему решить эту задачу.
Операция $$$\%$$$ означает взятие по модулю, то есть $$$a\%b$$$ равно остатку от деления числа $$$a$$$ на число $$$b$$$.
В первой строке входных данных дано целое число $$$t$$$ ($$$1 \leq t \leq 10^5$$$) - количество наборов входных данных.
Каждый набор состоит из двух строк. В первой строке даны целые числа $$$n$$$ и $$$k$$$ ($$$1 \leq k \leq n \leq 10^5$$$).
Во второй строке вводится массив $$$b_1, b_2, \ldots, b_n$$$ ($$$1 \leq b_i \leq n$$$).
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превышает $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите «YES» (без кавычек), если существует способ получить массив $$$b$$$, используя только заданную операцию. Иначе выведите «NO» (без кавычек). Вы можете выводить каждую букву в любом регистре (строчную или заглавную). Например, строки «yEs», «yes», «Yes» и «YES» будут приняты как положительный ответ.
65 32 3 5 3 44 22 4 3 11 113 11 2 35 35 4 3 2 16 11 2 3 1 5 6
YES NO YES YES NO NO
Рассмотрим первый пример:
Во втором примере можно доказать, что массив $$$b$$$ получить нельзя, следовательно ответ NO.
Название |
---|