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,,ana_1, a_2, \dots, a_n . They want to paint it using pieces of chalk of kk colors. The coloring of a sequence is called wonderful if the following conditions are met:

  1. each element of the sequence is either painted in one of kk colors or isn't painted;
  2. 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);
  3. let's calculate for each of kk colors the number of elements painted in the color — all calculated numbers must be equal;
  4. 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]a=[3, 1, 1, 1, 1, 10, 3, 10, 10, 2] and k=3k=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]a=[3, 1, 1, 1, 1, 10, 3, 10, 10, 2] and k=3k=3 . Note that one of the elements isn't painted.Help Paul and Mary to find a wonderful coloring of a given sequence aa .

输入格式

The first line contains one integer tt ( 1t100001 \le t \le 10000 ) — the number of test cases. Then tt test cases follow.

Each test case consists of two lines. The first one contains two integers nn and kk ( 1n21051 \le n \le 2\cdot10^5 , 1kn1 \le k \le n ) — the length of a given sequence and the number of colors, respectively. The second one contains nn integers a1,a2,,ana_1, a_2, \dots, a_n ( 1ain1 \le a_i \le n ).

It is guaranteed that the sum of nn over all test cases doesn't exceed 21052 \cdot 10^5 .

输出格式

Output tt 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 nn integers c1,c2,,cnc_1, c_2, \dots, c_n ( 0cik0 \le c_i \le k ) separated by spaces where

  • ci=0c_i=0 , if ii -th element isn't painted;
  • ci>0c_i>0 , if ii -th element is painted in the cic_i -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 11 , the blue color — 22 , the green — 33 .

首页