АВТ
Language: Russian
English

Remote Training on Programming

Problems Online status Contests
News FAQ E-learning
For authors:
Register  ||  Login
 
Hello, Guest! Please login or register.

1855. Search Index

Time Limit: 6 seconds
Memory Limit:1048576KB
Points:100
View Problem Statistics Submit Problem added debug

Аспирантка Анна занимается разработкой нового метода индексирования для ускорения нечёткого поиска. Анна решила, что множество ключей её индекса будет определяться следующим образом.

Пусть имеется набор из N входных текстовых документов. Назовём непустую строку полезной, если она имеет длину не более L и встречается в качестве подстроки не менее чем в одном и не более чем в T документах. Тогда множество ключей индекса строится так:

  • На первом шаге включим в результирующее множество все полезные строки.
  • На втором шаге удалим из ответа лишние элементы, пользуясь следующим правилом: если в множестве присутствуют два элемента s1 и s2, такие что s1 является подстрокой s2, то элемент s2 удаляется.

Рассмотрим пример. Пусть дано три входных документа – 'aba', 'caba' и 'dab', при этом T = 2 и L = 3.

После первого шага получаем множество 'aba', 'ba', 'c', 'ca', 'cab', 'd', 'da', 'dab'. Подстроки 'a' и 'b' в него не попали, так как встречаются более чем в T документах. После удаления лишних элементов на втором шаге окончательный ответ будет равен 'ba', 'c', 'd'

Анна заметила, что построение индекса непосредственно вышеописанным способом может выполняться слишком долго. Ваша задача – придумать и реализовать эффективный алгоритм построения результирующего множества.

Входные данные

В первой строке входных данных записаны три натуральных числа N, T и L (1 ≤ N, T ≤ 106, 1 ≤ L ≤ 10).

Далее идут N входных документов – непустых строк, содержащих только строчные английские буквы. Сумма длин всех строк не превышает 106.

Выходные данные

Выведите элементы результирующего множества в лексикографическом порядке

Примеры

Входные данные
3 2 3
aba
caba
dab
Выходные данные
ba
c
d
Входные данные
2 1 5
aaaaaaaa
aaaaaaaa
Выходные данные
Входные данные
2 1 5
aaaaaaca
aaaaaaab
Выходные данные
b
c

Условия всех задач турнира (pdf)


View Problem Statistics Submit Problem discussion Author/source:
Problems from Contests and Camps / Vologda Students Contests / XXI Interuni Olympiad - 2018 /
1854. I - Weights 1855.
time generating 0.093 sec.
© Copyright VSU, AVT, Nosov D.A., Andrianov I.A.