CF1551B2.Wonderful Coloring - 2
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
This problem is an extension of the problem "Wonderful Coloring - 1". It has quite many differences, so you should read this statement completely.
Recently, Paul and Mary have found a new favorite sequence of integers a1,a2,…,an . They want to paint it using pieces of chalk of k colors. The coloring of a sequence is called wonderful if the following conditions are met:
- each element of the sequence is either painted in one of k colors or isn't painted;
- each two elements which are painted in the same color are different (i. e. there's no two equal values painted in the same color);
- let's calculate for each of k colors the number of elements painted in the color — all calculated numbers must be equal;
- the total number of painted elements of the sequence is the maximum among all colorings of the sequence which meet the first three conditions.
E. g. consider a sequence a=[3,1,1,1,1,10,3,10,10,2] and k=3 . One of the wonderful colorings of the sequence is shown in the figure.
The example of a wonderful coloring of the sequence a=[3,1,1,1,1,10,3,10,10,2] and k=3 . Note that one of the elements isn't painted.Help Paul and Mary to find a wonderful coloring of a given sequence a .
输入格式
The first line contains one integer t ( 1≤t≤10000 ) — the number of test cases. Then t test cases follow.
Each test case consists of two lines. The first one contains two integers n and k ( 1≤n≤2⋅105 , 1≤k≤n ) — the length of a given sequence and the number of colors, respectively. The second one contains n integers a1,a2,…,an ( 1≤ai≤n ).
It is guaranteed that the sum of n over all test cases doesn't exceed 2⋅105 .
输出格式
Output t lines, each of them must contain a description of a wonderful coloring for the corresponding test case.
Each wonderful coloring must be printed as a sequence of n integers c1,c2,…,cn ( 0≤ci≤k ) separated by spaces where
- ci=0 , if i -th element isn't painted;
- ci>0 , if i -th element is painted in the ci -th color.
Remember that you need to maximize the total count of painted elements for the wonderful coloring. If there are multiple solutions, print any one.
输入输出样例
输入#1
6 10 3 3 1 1 1 1 10 3 10 10 2 4 4 1 1 1 1 1 1 1 13 1 3 1 4 1 5 9 2 6 5 3 5 8 9 13 2 3 1 4 1 5 9 2 6 5 3 5 8 9 13 3 3 1 4 1 5 9 2 6 5 3 5 8 9
输出#1
1 1 0 2 3 2 2 1 3 3 4 2 1 3 1 0 0 1 1 0 1 1 1 0 1 1 1 0 2 1 2 2 1 1 1 1 2 1 0 2 2 1 1 3 2 1 3 3 1 2 2 3 2 0
说明/提示
In the first test case, the answer is shown in the figure in the statement. The red color has number 1 , the blue color — 2 , the green — 3 .