Codeforces Round 571 (Div. 2) |
---|
Закончено |
У Казака Вуса есть две бинарные строки, то есть строки, которые состоят только из «0» и «1». Назовем эти строки $$$a$$$ и $$$b$$$. Известно, что $$$|b| \leq |a|$$$, то есть длина $$$b$$$ не более $$$a$$$.
Казак рассматривает каждую подстроку длины $$$|b|$$$ строки $$$a$$$. Назовем эту подстроку $$$c$$$. Он сопоставляет соответствующие символы в $$$b$$$ и $$$c$$$, после чего считает количество позиций, где эти две строки различны. Назовем эту функцию $$$f(b, c)$$$.
Например, пусть $$$b = 00110$$$, а $$$c = 11000$$$. В этих строках первая, вторая, третья и четвертая позиции различны.
Казак Вус считает количество таких подстрок $$$c$$$, что $$$f(b, c)$$$ — четное.
Например, пусть $$$a = 01100010$$$, а $$$b = 00110$$$. У $$$a$$$ есть четыре подстроки длины $$$|b|$$$: $$$01100$$$, $$$11000$$$, $$$10001$$$, $$$00010$$$.
Поскольку в трех подстроках $$$f(b, c)$$$ четное, то ответ — $$$3$$$.
Вус не умеет находить ответ для больших строк, поэтому просит вас помочь ему в этом.
Первая строка содержит бинарную строку $$$a$$$ ($$$1 \leq |a| \leq 10^6$$$) — первая строка.
Вторая строка содержит бинарную строку $$$b$$$ ($$$1 \leq |b| \leq |a|$$$) — вторая строка.
Выведите одно целое число — ответ на задачу.
01100010 00110
3
1010111110 0110
4
Первый пример объяснен в легенде.
Во втором примере подходят подстроки $$$1010$$$, $$$0101$$$, $$$1111$$$, $$$1111$$$.
Название |
---|