CF723C.Polycarp at the Radio
普及/提高-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Polycarp is a music editor at the radio station. He received a playlist for tomorrow, that can be represented as a sequence _a_1, _a_2, ..., a__n, where a__i is a band, which performs the i-th song. Polycarp likes bands with the numbers from 1 to m, but he doesn't really like others.
We define as b__j the number of songs the group j is going to perform tomorrow. Polycarp wants to change the playlist in such a way that the minimum among the numbers _b_1, _b_2, ..., b__m will be as large as possible.
Find this maximum possible value of the minimum among the b__j (1 ≤ j ≤ m), and the minimum number of changes in the playlist Polycarp needs to make to achieve it. One change in the playlist is a replacement of the performer of the i-th song with any other group.
波利卡普是电台的一名音乐编辑。他收到了明天的播放列表,该列表可以表示为一个序列 a1,a2,…,an,其中 ai 表示第 i 首歌曲的演出乐队。波利卡普喜欢编号为 1 到 m 的乐队,但不太喜欢其他乐队。
定义 bj 为乐队 j 明天将要演出的歌曲数量。波利卡普希望对播放列表进行调整,使得 b1,b2,…,bm 中的最小值尽可能大。
请找出该最小值(即 min{b1,b2,…,bm},其中 1≤j≤m)所能达到的最大可能值,并求出波利卡普为实现该最大值所需对播放列表进行的最少修改次数。一次修改指将第 i 首歌的演出乐队替换为任意其他乐队。
输入格式
The first line of the input contains two integers n and m (1 ≤ m ≤ n ≤ 2000).
The second line contains n integers _a_1, _a_2, ..., a__n (1 ≤ a__i ≤ 109), where a__i is the performer of the i-th song.
输入的第一行包含两个整数 n 和 m(1 ≤ m ≤ n ≤ 2000)。
第二行包含 n 个整数 a1, a2, ..., an(1 ≤ ai ≤ 109),其中 ai 表示第 i 首歌曲的表演者。
输出格式
In the first line print two integers: the maximum possible value of the minimum among the b__j (1 ≤ j ≤ m), where b__j is the number of songs in the changed playlist performed by the j-th band, and the minimum number of changes in the playlist Polycarp needs to make.
In the second line print the changed playlist.
If there are multiple answers, print any of them.
第一行输出两个整数:所有 bj(1≤j≤m)中的最大可能最小值,其中 bj 表示修改后的播放列表中第 j 个乐队所演唱的歌曲数量;以及 Polycarp 为达成该目标所需进行的最少修改次数。
第二行输出修改后的播放列表。
若存在多个可行答案,输出任意一个即可。
输入输出样例
输入#1
4 2 1 2 3 2
输出#1
2 1 1 2 1 2
输入#2
7 3 1 3 2 2 2 2 1
输出#2
2 1 1 3 3 2 2 2 1
输入#3
4 4 1000000000 100 7 1000000000
输出#3
1 4 1 2 3 4
说明/提示
In the first sample, after Polycarp's changes the first band performs two songs (_b_1 = 2), and the second band also performs two songs (_b_2 = 2). Thus, the minimum of these values equals to 2. It is impossible to achieve a higher minimum value by any changes in the playlist.
In the second sample, after Polycarp's changes the first band performs two songs (_b_1 = 2), the second band performs three songs (_b_2 = 3), and the third band also performs two songs (_b_3 = 2). Thus, the best minimum value is 2.
在第一个样例中,经过 Polycarp 的调整后,第一支乐队演奏两首歌曲(b1=2),第二支乐队也演奏两首歌曲(b2=2)。因此,这些值中的最小值为 2。通过任何对播放列表的调整,都不可能得到更高的最小值。
在第二个样例中,经过 Polycarp 的调整后,第一支乐队演奏两首歌曲(b1=2),第二支乐队演奏三首歌曲(b2=3),第三支乐队也演奏两首歌曲(b3=2)。因此,所能达到的最佳最小值为 2。
输入解题思路,AI测评打分。不知道怎么写?