Skip to content

Latest commit

 

History

History
62 lines (49 loc) · 1.57 KB

File metadata and controls

62 lines (49 loc) · 1.57 KB

A. Полиномиальный хеш

Алле очень понравился алгоритм вычисления полиномиального хеша. Помогите ей написать функцию, вычисляющую хеш строки s. В данной задаче необходимо использовать в качестве значений отдельных символов их коды в таблице ASCII.

Полиномиальный хеш считается по формуле:

IMG

Формат ввода

В первой строке дано число a (1 ≤ a ≤ 1000) –— основание, по которому считается хеш.

Во второй строке дано число m (1 ≤ m ≤ 109) –— модуль.

В третьей строке дана строка s (0 ≤ |s| ≤ 106), состоящая из больших и маленьких латинских букв.

Формат вывода

Выведите целое неотрицательное число –— хеш заданной строки.

Пример 1

123
100003
a
97


Пример 2

123
100003
hash
6080


Пример 3

123
100003
HaSH
6080