Codeforces Round 336 (Div. 2)
B
Hamming Distance Sum
Codeforces
1500
原题
← AC →
翻译中…

Genos needs your help. He was asked to solve the following programming problem by Saitama:

翻译中…

The length of some string $*s*$ is denoted $|*s*|$. The Hamming distance between two strings $*s*$ and $*t*$ of equal length is defined as image, where $*s*_{*i*}$ is the $*i*$-th character of $*s*$ and $*t*_{*i*}$ is the $*i*$-th character of $*t*$. For example, the Hamming distance between string "0011" and string "0110" is $|0 - 0| + |0 - 1| + |1 - 1| + |1 - 0| = 0 + 1 + 0 + 1 = 2$.

翻译中…

Given two binary strings $*a*$ and $*b*$, find the sum of the Hamming distances between $*a*$ and all contiguous substrings of $*b*$ of length $|*a*|$.

翻译中…

Input

翻译中…

The first line of the input contains binary string $*a*$ ($1 ≤ |*a*| ≤ 200 000$).

翻译中…

The second line of the input contains binary string $*b*$ ($|*a*| ≤ |*b*| ≤ 200 000$).

翻译中…

Both strings are guaranteed to consist of characters '0' and '1' only.

翻译中…

Output

翻译中…

Print a single integer — the sum of Hamming distances between $*a*$ and all contiguous substrings of $*b*$ of length $|*a*|$.

翻译中…

Note

翻译中…

For the first sample case, there are four contiguous substrings of $*b*$ of length $|*a*|$: "00", "01", "11", and "11". The distance between "01" and "00" is $|0 - 0| + |1 - 0| = 1$. The distance between "01" and "01" is $|0 - 0| + |1 - 1| = 0$. The distance between "01" and "11" is $|0 - 1| + |1 - 1| = 1$. Last distance counts twice, as there are two occurrences of string "11". The sum of these edit distances is $1 + 0 + 1 + 1 = 3$.

翻译中…

The second sample case is described in the statement.

翻译中…

样例

Input #1
01
00111
Output #1
3
InputCopy OutputCopy
Input #2
0011
0110
Output #2
2
InputCopy OutputCopy
题目信息
题号
608B
时间限制
2 s
内存限制
256 MB
标签
组合数学
字符串

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。