Codeforces Round 531 (Div. 3) |
---|
Закончено |
Задан массив $$$a$$$, состоящий из $$$n$$$ целых чисел.
Вам необходимо покрасить этот массив в $$$k$$$ цветов таким образом, чтобы:
Очевидно, что такой раскраски может не существовать. В этом случае выведите «NO». Иначе выведите «YES» и любую раскраску (то есть числа $$$c_1, c_2, \dots c_n$$$, где $$$1 \le c_i \le k$$$, а $$$c_i$$$ означает цвет $$$i$$$-го элемента заданного массива), удовлетворяющую ограничениям, описанным выше. Если существует несколько возможных ответов, выведите любой.
Первая строка входных данных содержит два целых числа $$$n$$$ и $$$k$$$ ($$$1 \le k \le n \le 5000$$$) — длина массива $$$a$$$ и количество цветов соответственно.
Вторая строка входных данных содержит $$$n$$$ целых чисел $$$a_1, a_2, \dots, a_n$$$ ($$$1 \le a_i \le 5000$$$) — элементы массива $$$a$$$.
Если ответа не существует, выведите «NO». Иначе выведите «YES» и любую раскраску (то есть числа $$$c_1, c_2, \dots c_n$$$, где $$$1 \le c_i \le k$$$, а $$$c_i$$$ означает цвет $$$i$$$-го элемента заданного массива), удовлетворяющую ограничениям, описанным выше. Если существует несколько возможных ответов, выведите любой.
4 2 1 2 2 3
YES 1 1 2 2
5 2 3 2 1 2 3
YES 2 1 1 2 1
5 2 2 1 1 2 1
NO
В первом тестовом примере также допустим ответ $$$2~ 1~ 2~ 1$$$.
Во втором тестовом примере также допустим ответ $$$1~ 1~ 1~ 2~ 2$$$.
Также существуют другие возможные ответы на оба тестовых примера.
Название |
---|