2026, група B, 7-9 клас
52
C.
АГЕНТСКА МРЕЖА
375
Условие
CODE@BURGAS 2026, ГРУПА B, ЗАДАЧА C. АГЕНТСКА МРЕЖА
---
Вие сте таен агент и трябва да анализирате криптирано съобщение, представено като низ S с дължина до 10^6 символа. Освен стандартната кодова дума 'agent', системата използва динамично генерирани шаблони.
Дадени са Q заявки. Всяка заявка е от един от следните два типа:
Тип 1: 1 l r pattern
Намерете броя на срещанията на низа pattern като подниз в подниза S[l..r]. Позволени са припокриващи се срещания.
Тип 2: 2 i c
Заменете символа на позиция i в низа S с символа c.
Допълнително, ако за дадена заявка от тип 1 pattern = 'agent' и броят на срещанията е по-голям от 5, се увеличава глобален брояч ALERT_COUNT.
Ограничения:
1 ≤ |S| ≤ 10^6
1 ≤ Q ≤ 10^5
Вход:
На pървият ред на стандартният вход се въвежда низът S. На втория ред се въвежда числото Q. Следват Q реда със заявки.
Изход:
За всяка заявка от тип 1 изведете броя на срещанията на pattern. На последния ред на стандартния изход изведете стойността на ALERT_COUNT.
Примерен вход:
agentagentagentagentagentagent
3
1 1 30 agent
2 5 x
1 1 30 agent
Примерен изход:
6
5
1