k-сортировка
Ограничения: время – 2s/4s, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
В этом году Гриша поступил в Университет ИТ. В Университете ИТ очень много новых предметов, интересных и не очень.
Особенно Грише нравится предмет "Алгоритмы и структуры данных". На последней лекции были рассказаны алгоритмы
сортировки. Гриша – очень амбициозный молодой человек и хочет изобрести свой алгоритм,
который впоследствии будет назван именем его любимого дедушки. Вдохновившись чтением многотомника Кнута,
Гриша решил модернизировать какой-нибудь уже существующий алгоритм сортировки натуральных чисел, наложив следующее ограничение.
Любые два элемента можно менять местами, только если они
сравнимы по модулю некоторого натурального числа `k`, то есть дают одинаковые остатки при делении на `k`.
Но все инновационные методы требуют проверки, поэтому Гриша обратился за помощью к Вам!
Проверьте, сможет ли новая версия алгоритма отсортировать заданный массив натуральных чисел.
Первая строка входного файла содержит два числа `n` (`1\ ≤\ n\ ≤\ 1000`) и `k` (`1\ ≤\ k\ ≤\ 10^9`) –
количество элементов в массиве и число, по модулю которого сравниваются элементы массива.
Вторая строка входного файла содержит `n` целых чисел `a_i` – элементы массива
(`1\ ≤\ a_i\ ≤\ 10^9`).
В выходной файл выведите YES, если алгоритм сможет отсортировать заданный массив и
NO – в обратном случае.
Пример ввода 1
5 2
5 4 3 2 1
Источник: neerc.ifmo.ru/school