eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Хеш-функция Далла

Хеш-функция Далла

Профессор Далл очень любит придумывать новые "хорошие" хеш-функции для строк. Недавно он опубликовал статью с описанием следующего метода. Любимая строка \textbf{W} считается одним из параметров алгоритма. Другим параметром является не превосходящее длины строки \textbf{W} натуральное число \textbf{K}. Хеш-функция считается для строки \textbf{S}. Сначала в строке \textbf{S} находятся все такие ее подстроки, которые являются анаграммами строки \textbf{W}. Из всех этих анаграмм выбираются наибольшая в смысле лексикографического порядка строка \textbf{A_1} и наименьшая - \textbf{A_2}. Далее для каждой пары подстрок длины \textbf{K} из \textbf{A_1} и \textbf{A_2} считается количество одинаковых символов в одинаковых позициях. Все эти величины складываются - это и есть искомое значение. Если в \textbf{S} нет подстрок, являющихся анаграммами \textbf{W}, значение хеш-функции считается равным \textbf{0}. \textit{Подстрокой} называется любая последовательность идущих подряд символов данной строки. \textit{Анаграмма} - строка, получающаяся перестановкой букв данной строки. \InputFile В первой строке входного файла записано натуральное число \textbf{K}. Во второй строке записана строка \textbf{W}. Ее длина - натуральное число, не превосходящее \textbf{3000}. Число \textbf{K} не превосходит длины строки \textbf{W}. В третьей строке входного файла содержится строка \textbf{S}. Ее длина - натуральное число, не превосходящее \textbf{100000}. Гарантируется, что количество позиций строки \textbf{S}, в которых начинаются подстроки, являющиеся анаграммами \textbf{W}, не превосходит \textbf{2000}. Все строки состоят только из строчных латинских букв. \OutputFile Выведите искомое значение хеш-функции Далла. \textit{\textbf{Пояснение к примеру 1}}: Подстроки-анаграммы - \textbf{bab}, \textbf{abb}, \textbf{bba} (в порядке появления). Наибольшая - \textbf{bba}, наименьшая - \textbf{abb}. В каждой строке всего \textbf{2} подстроки длины \textbf{K = 2}. Количество совпадений у \textbf{bb} и \textbf{ab} - \textbf{1}, у \textbf{bb} и \textbf{bb} -\textbf{2}, у \textbf{ba} и \textbf{ab} - \textbf{0}, у \textbf{ba} и \textbf{bb} - \textbf{1}. Всего \textbf{4} совпадения.
Лимит времени 1 секунда
Лимит использования памяти 64 MiB
Входные данные #1
2
abb
cababba
Выходные данные #1
4