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

Бали: 18,00 (partial)
Time limit: 1.0s
Python 5.0s
Memory limit: 64M
Python 250M

Author:
Problem type
Allowed languages
Assembly, Awk, Brain****, C, C++, Java, mono C#, Pascal, Perl, Python, Sed, Text, vb

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

Отже, задається 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

Коментарі

Please read the guidelines before commenting.



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

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


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

      Добавив...