ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

2197. Работа – не волк, волк – это ходить

Ограничение времени: 3.0 секунды
Ограничение памяти: 256 МБ
Недалёкое Будущее. Ямочка работает на заводе по печатанию строк. Сейчас перед ней стоит задача напечатать строку S. Чтобы справиться с работой, Ямочка выбирает непустой префикс S длины l, после чего печатает его несколько раз подряд. Количество повторений и длину l она выбирает так, чтобы получившаяся строка равнялась исходной S. Чтобы напечатать префикс один раз, Ямочке требуется l2 секунд.
Если Ямочка долго работает над одной и той же задачей, то начинает расслабляться и постепенно сбавлять темпы производства, что очень не нравится её начальнику Вадиму, который, в свою очередь, имеет набор из M строк ti. Чтобы добиться максимальной продуктивности от своего работника, Вадим время от времени берёт строку tkj из набора и выбирает индекс pj, после чего заменяет подстроку Spj Spj+1Spj+|tkj|−1 на tkj. Например, если S = «aboba», tkj = «pupa» и pj = 2, то в результате S станет равна «apupa».
Ямочка ещё молодая, поэтому хочет работать как можно меньше. Помогите ей: для изначальной строки и после каждого изменения скажите минимальное время, необходимое для печати S.

Исходные данные

В первой строке дано три целых числа N, M и Q — длина строки S, количество строк в наборе Вадима и количество изменений (1 ≤ N ≤ 2 · 105, 0 ≤ M, Q ≤ 2 · 105).
В следующей строке дана изначальная строка S из строчных английских букв.
В следующих M строках даны непустые строки ti — набор Вадима (1 ≤ |ti| ≤ 106). Гарантируется, что суммарная длина строк из набора не превосходит 106.
В следующих Q строках описаны изменения двумя целыми числами pj и kj — начало отрезка и номер строки из набора (1 ≤ pjN − |tkj| + 1, 1 ≤ kjM).

Результат

В первой строке выведите минимальное необходимое время до всех изменений. В следующих Q строках выведите минимальное время после соответствующего изменения.

Пример

исходные данныерезультат
4 3 3
abab
be
ebb
ee
3 1
1 2
2 3
8
16
16
4

Замечания

После первого изменения строка станет равна «abbe». После второго — «ebbe». После третьего — «eeee».
Автор задачи: Константин Рычков
Источник задачи: Квалификационный тур Уральского регионального чемпионата ICPC 2024