1341: Кількість різних підрядків

Перегляд у форматі PDF

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

Бали: 16
Time limit: 2.0s
Python 4.0s
Memory limit: 64M

Author:
Problem type

Вам задано рядок \(s = s_1s_2... s_n\), довжини \(n\). Знайдіть кількість його різних підрядків. Рядок генерується незвичним способом. А саме, вам задано просте число \(p\) \((2 ≤ p ≤ 10^9)\), символ \(s_i\) дорівнює букві під номером \((((p_i) mod (10^9+7)) mod 26)+1\) у англійському алфавіті. Вважайте, що регістр усіх букв рядка однаковий. Операція \(a mod b\) позначає взяття залишку при діленні числа \(a\) на число \(b\).

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

У першому рядку задано два цілих числа \(n\) та \(p\) \((1 ≤ n ≤ 10^5, 2 ≤ p ≤ 10^9)\). Число p - просте.

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

Виведіть єдине ціле число — кількість різних підрядків рядка \(s\).

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

5 2

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

15

Коментарі

Ще немає коментарів.