10780. Перші входження
Відправити розв'язок
Бали:
100
Time limit:
1.0s
Memory limit:
500M
Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python
Дано рядок і шаблони. Знайдіть для кожного шаблону першу позицію (з індексами від 1), де він з’являється в рядку.
Обмеження
- \(1≤n≤10^5\)
- \(1≤k≤5⋅10^5\)
- загальна довжина шаблонів не перевищує \(5 ⋅10^5\)
Формат вхідних даних
У першому рядку вхідних даних є рядок довжиною \(n\).
Наступний рядок містить ціле число \(k\): кількість шаблонів.
Нарешті, є \(k\) рядків, які описують шаблони.
Рядок і шаблони складаються з символів 'a'–'z'.
Формат вихідних даних
Вивести першу позицію для кожного шаблона (або −1, якщо вона взагалі не зустрічається).
Приклад вхідних даних
aybabtu
3
bab
abc
a
Приклад вихідних даних
3
-1
1
Коментарі