2108: 家庭作业
Description
【题目描述】
小智在学校读一年级的时候,有一次老师给全班布置了这样的家庭作业。她给学生们一根由n个小写拉丁字母组成的绳子;任务是学习字符串中包含的字母的书写方式。然而,由于小智太懒了,他根本不想学那些字母。于是他决定丢掉字符串的某个部分(不一定是连续的部分)。丢掉的部分可以由任意数量、任意长度、任意距离的部分组成。然而,小智知道,如果他丢失超过k个字符,就会非常可疑。
查找在删除不超过k个字符后,可以留在字符串中的不同字符的最少数量。您还必须找到任何可能的方法来删除字符。
【输入】
第一行输入一个长度为n(1≤n≤105)的字符串。字符串由小写拉丁字母组成。第二行输入一个数字k(0≤k≤105)。
【输出】
输出一个数字m 表示在给定字符串丢失不超过k个字符后,可以保留的不同字符的最小可能数量。
在第二行输出丢失一些字符后小智可以得到的字符串。字符串应该有m个不同的字符。最终字符串应该是初始字符串的子序列。如果小智可以得到几个不同的字符串,其中包含m个不同的字符,则打印其中的任何一个。
aaaaa 4
1 aaaaa
abacaba 4
1 aaaa
abcdefgh 10
0
【说明】
在第一个示例中,字符串由五个相同的字母组成,但您只允许删除其中的4个,以便至少留下一个字母。因此,正确答案是1和任何长度从1到5的字符“a”组成的字符串。
在第二个示例中,允许删除4个字符。您不能删除所有的字符,因为字符串的长度等于7。但是,您可以删除除"a"以外的所有字符(因为它们不超过四个),这将保留"aaaa"字符串。
在第三个样本中,给您一条长度等于8的字符串,k=10,因此可以删除整条线。正确答案是0和一个空字符串。
Sample Input Copy
aaaaa
4
Sample Output Copy
1
aaaa