305869: CF1102B. Array K-Coloring
Memory Limit:256 MB
Time Limit:2 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Array K-Coloring
题意翻译
给出一个长为n的序列a和k种颜色,用这k种颜色给a中的元素染色,要求: 1. 每个元素都要被染色 2. 每种颜色都要被使用 3. 每种颜色不会被用于相同的元素(即若颜色$c_i ==c_j(i \neq j)$,必须保证$a_i \neq a_j$ 如果没有可行的方案,输出"NO",否则输出"YES"和任何一种可行的方案题目描述
You are given an array $ a $ consisting of $ n $ integer numbers. You have to color this array in $ k $ colors in such a way that: - Each element of the array should be colored in some color; - For each $ i $ from $ 1 $ to $ k $ there should be at least one element colored in the $ i $ -th color in the array; - For each $ i $ from $ 1 $ to $ k $ all elements colored in the $ i $ -th color should be distinct. Obviously, such coloring might be impossible. In this case, print "NO". Otherwise print "YES" and any coloring (i.e. numbers $ c_1, c_2, \dots c_n $ , where $ 1 \le c_i \le k $ and $ c_i $ is the color of the $ i $ -th element of the given array) satisfying the conditions above. If there are multiple answers, you can print any.输入输出格式
输入格式
The first line of the input contains two integers $ n $ and $ k $ ( $ 1 \le k \le n \le 5000 $ ) — the length of the array $ a $ and the number of colors, respectively. The second line of the input contains $ n $ integers $ a_1, a_2, \dots, a_n $ ( $ 1 \le a_i \le 5000 $ ) — elements of the array $ a $ .
输出格式
If there is no answer, print "NO". Otherwise print "YES" and any coloring (i.e. numbers $ c_1, c_2, \dots c_n $ , where $ 1 \le c_i \le k $ and $ c_i $ is the color of the $ i $ -th element of the given array) satisfying the conditions described in the problem statement. If there are multiple answers, you can print any.
输入输出样例
输入样例 #1
4 2
1 2 2 3
输出样例 #1
YES
1 1 2 2
输入样例 #2
5 2
3 2 1 2 3
输出样例 #2
YES
2 1 1 2 1
输入样例 #3
5 2
2 1 1 2 1
输出样例 #3
NO