Codeforces Beta Round 79 (Div. 1 Only) |
---|
Закончено |
Однажды, когда Геральд учился в первом классе, учительница задала им домашнее задание в следующей форме. Она выдала ученикам строку, состоящую из 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 и любая строка из симолов «a» длины от 1 до 5.
Во втором примере разрешается удалить 4 символа. Все символы удалить не получится, потому что строка имеет длину 7. Но можно удалить все символы, кроме «a». Соответственно, можно, например, удалить все символы, кроме «a», благо их не больше четырех, и получить строку «aaaa».
В третьем примере дана строка длины 8, а k = 10, так что можно удалить всю строку. Правильный ответ — 0 и пустая строка.
Название |
---|