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

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

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

Бали: 16,00 (partial)
Time limit: 2.0s
Python 4.0s
Memory limit: 64M

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

Вам задано рядок ~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

Коментарі

Please read the guidelines before commenting.


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