Надіслати розв'язок

Бали: 18
Time limit: 1.0s
Python 5.0s
Memory limit: 64M
Python 250M

Author:
Problem type

Ось одна із задач Василька, яка уже два тижні йому не піддається. Завтра у нього День народження! Давайте зробимо Васильку інтелектуальний подарунок - напишемо швидкий код, який вирішить його проблему.

Отже, задається N рядків, пронумерованих від 1 до \(N\).

Ваша програма повинна оперативо відповісти на \(Q\) запитів. Запит має вигляд: \(l, r, S\).

Для кожного запиту програма повинна знайти, скільки разів рядок \(S\) зустрінеться на проміжку \([l, r]\).

Формат вхідних даних

Перший рядок містить ціле число \(N\) \((1 \le N \le 100000)\) - кількість рядків.

Далі ідуть \(N\) рядків.

Наступний рядок містить \(Q\) \((1 \le Q \le 100000)\) - кількість запитів.

Далі ідуть рядки із запитом: \(l, r, S\) \((1 \le l \le r \le N)\).

Всі рядки мають довжину від 5 до 10 символів.

Формат вихідних даних

Для кожного запиту в окремому рядки вивести відповідь

Приклад вхідних даних

3
abc
def
abc
3
1 2 abc
1 3 abc
1 2 hgj

Приклад вихідних даних

1
2
0

Коментарі


  • 1
    Hydra  commented on Гру. 21, 2021, 8:22 після полудня

    Додайте часу на Python, будь ласка (або скажіть, що можна написати ефективніше рішення цією мовою) Просто аналогічне рішення на С++ набирає 100/100


    • 1
      zvit  commented on Гру. 23, 2021, 6:20 після полудня

      Добавив...